• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Henry Wong
Saloon Keepers:
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Frits Walraven

Seeking the "Next Level" of Java Skills

 
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello all,

I have been teaching myself Java for about a year now, and I am happy with what I've been able to accomplish thus far, but I feel like I've plateaued, and I want to get to the next level. I can make very good Swing applications using object-oriented concepts, and I use JDBC extensively to interact with well-designed underlying databases.

I use Eclipse Indigo as my IDE. For my Swing applications, I hard code all of the panels and tabs and such using the various layouts, which can get time consuming, but it works. I am looking to do two things:

1) Increase the speed of which I am able to deploy applications. I want to stick with Java, but when I see other developers using .NET and simply dragging and dropping objects from a toolbox Visual Studio, I get pretty envious of how easy that approach seems. Does anyone have any tips on this front?

2) I want to take my applications online. I've written a lot of clean code for my Swing applications, but my users are always asking for new features and such, and I have to create a new .jar file each time for deployment. I know this is not the best route to go for deployment. I would love to have the code on some type of server so that I can make the change and, once tested, have it effective immediately in their application. What are my first steps for shifting into an environment like this one?

Many thanks for any input you can provide.

Sincerely,
Brian
 
Bartender
Posts: 825
5
Python Ruby Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1) I've had that kind of feeling too about Visual Studio (though I still use it), and I must admit it is a great IDE for Microsoft related technologies. But, the drag-and-drop principle of building GUIs also exists in Java IDEs. I use NetBeans extensively and it has a great GUI builder.

2) I would recommend you take a look at OSGi. Once you get familiar with the concept of developing modular applications, deploying new or updates to your existing plugins (modules, bundles in OSGi) to your client will make your life much easier.
 
Brian Batson
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Kemal. I am now downloading the full version of NetBeans to take advantage of the GUI builder that you mentioned. Also checking out OSGi.
 
Sheriff
Posts: 28329
96
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Brian Batson wrote:2) I want to take my applications online. I've written a lot of clean code for my Swing applications, but my users are always asking for new features and such, and I have to create a new .jar file each time for deployment. I know this is not the best route to go for deployment. I would love to have the code on some type of server so that I can make the change and, once tested, have it effective immediately in their application. What are my first steps for shifting into an environment like this one?



Well, actually, creating a new JAR file is the minimum you're going to have to do, if you want to stick with Swing applications. And continuing with that theme, if you want to deploy your application via the web, then Java Web Start was designed for exactly that. You won't reach the level of nirvana where changes to the application show up instantly even as the user is about to click a button, but it does check for updated versions each time the user starts the application.

Or you could switch to writing web applications -- servlets and JSPs instead of Swing applications. There's no deployment to the users there, only a single deployment to your server.
 
Brian Batson
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Paul. In your experience, is the switch from Swing to servlets and JSP an enormous undertaking, or does an understanding of core Java concepts lend itself to a fairly quick and easy transition?

Also, do you think servlets/JSP is the best web application framework, or do you prefer a different framework?
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
All Java web apps are built on servlets, even if the web app developer uses a framework on top of it, so an understanding of how they work is definitely helpful (and, I would say, a necessary first step). After that, you can check out frameworks like Stripes, JSF 2, Spring MVC, Apache Wicket etc. to see how you like them.

There are alternatives to JSPs (like Velocity and FreeMarker) but I don't see their allure. For starters, you'd lose the ability to use JSP tag libraries, which simplify many common tasks in web app development.

And yes, moving from desktop apps to web apps is a fairly significant step, with some stuff needing to be unlearnt, and a bunch of new stuff needing to be learnt.
 
This is my favorite show. And this is my favorite tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic