File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Other Application Frameworks and the fly likes Help choosing a web framework Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Frameworks » Other Application Frameworks
Bookmark "Help choosing a web framework" Watch "Help choosing a web framework" New topic
Author

Help choosing a web framework

David Garratt
Ranch Hand

Joined: Aug 08, 2003
Posts: 198

It seems that they are springing up everywhere - no way can I evaluate all of them - or to be honest even a selection. I am reasonably java savvy, but most of my knowledge is with client side Swing development. I have an open source project on the web called Commander4j. I have coded my application so that it can connect to and use mySQL, MSSQL and Oracle versions of my database. The core application consists of a single .jar file and this jar is used by the desktop swing application, a server side "service" using the excellent wrapper from Tanuki Software. I've event got a servlet using the same file so that I know my logic remains consistent throughout the application. It is possible for several web users to connect to the same servlet, each of them can connect to a different host database (any of the above types) and see the web page in their preferred language. Although I am pleased with this, my biggest headache is thread safety on the Servlet side of things. I would like to consider moving away from my hand crafted code, but I wonder if I have already painted myself into a corner. All my database transactions for example have a class which expects them to be constructed with 2 parameters, a Host ID which is used to determine the database to use, and a Session ID which is used to ensure that in the Servlet at least I don't get any problems with different users/transactions sharing the same connection to the database.

Phew - lots and lots of work.

I kinda like GWT as it seems easy to work with the GWT Designer Tool - however the main use of the web pages is on mobile devices which have a real mixed bag of Javascript/browser versions.

I had a look at the getting started sections on a number of frameworks like Tapestry for example but have to admit that I found the Maven stuff all rather tedious and confusing.

So I would like a framework which I can get to grips with - without the need to learn 15 other technologies 1st.

I would like to work with Eclipse and have some graphical design tools. My preferred server is Tomcat,

It would be nice to be up-to-date and have a couple of reasonable books I can get from Amazon.

All my source is available from sourcforge via http://www.commander4j.com - the b4web.zip would probably give you insight into my current level of ability.

Any advice would be really appreciated.

Thanks

Dave
Michael Swierczek
Ranch Hand

Joined: Oct 07, 2005
Posts: 107
    
    1
I'm no expert, but I suggest a look at the Play Framework: http://www.playframework.org/

1. The tutorial is outstanding and teaches you a lot of the major features.
2. No Maven requirement, it has its own build tool which is pretty simple and easy.
3. The build environment actually reads and loads changes to your .java files as you save them, so you don't have to restart Jetty, Tomcat, or another web server every time you change a piece of your Java code. That may seem like a small thing, but in practice it's an incredible productivity boost. (A few other Java web application frameworks have this feature, and speaking as a mediocre Java development with relatively small amount of experience, it seems to me to be THE most important feature to have in web development. Now I understand why Ruby, Perl, Python, and PHP developers are willing to give up static typing and high performance for the convenience of seeing your changes on-the-fly. After working this way, going back to Struts, Spring, etc... is very frustrating.)

Now, I have not used it in a big production deployment, so far I only use it for a simple monitoring application internally at my job. But it took me three days with Play to build something that would have taken me three weeks with Struts 1.x (granted that Struts 1.x is old now).

Please do post back to this discussion with what you choose and why, I am curious to see what you do use - and I promise not to try to convince you to use Play if you choose something else.
David Garratt
Ranch Hand

Joined: Aug 08, 2003
Posts: 198

Thanks for the advice - I will have a look for sure. It may be some time before I come to a conclusion - any I will probably change my mind after that.

Dave
David Garratt
Ranch Hand

Joined: Aug 08, 2003
Posts: 198

So far I've not seen anything compelling enough for me to switch from what I've done so far, but the problem is you need to become an expert in a framework to understand it's full potential.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Dave,

This comparison may help you.
http://static.raibledesigns.com/repository/presentations/Comparing_JVM_Web_Frameworks_Devoxx2010.pdf

Groovy
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42050
    
  64
http://static.raibledesigns.com/repository/presentations/Comparing_JVM_Web_Frameworks_Devoxx2010.pdf

This kind of comparison is highly subjective, and Matt Raible has gotten a lot of flak over it. It's useful for listing some of the points one might look at it when choosing frameworks, but not for actually choosing one. Searching these forums for choose web framework finds other discussions that should be helpful.


Ping & DNS - my free Android networking tools app
Greg Funston
Ranch Hand

Joined: Feb 09, 2011
Posts: 81

I've looked at those discussions Ulf and there are no recent threads in there. My biggest problem with frameworks is that to properly evaluate them you need to learn them. It seems most people who give evaluations are selling something. I have absolutely no idea which is the best framework and I am sure it can change depending on your situation. I would not mind further discussion on this and will keep an eye open for this. I was impressed with OSGi so far but all I read was the first chapter.

Cheers,
Greg Funston SCJP
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Greg,

May be people have hidden agenda when they recommend a framework but I think it helps us to build the check list to compare the framework. This is true when we are not experts in web framework, For e.g. framework 1 may be good in feature 1 and we may not have feature1 as one of the criteria to evaluate frameworks. We can then do a quick prototype. This is my opinion.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Help choosing a web framework