• 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
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Help choosing a web framework

 
Ranch Hand
Posts: 333
1
Mac Eclipse IDE Safari
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 125
1
Clojure Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 333
1
Mac Eclipse IDE Safari
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 333
1
Mac Eclipse IDE Safari
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dave,

This comparison may help you.
http://static.raibledesigns.com/repository/presentations/Comparing_JVM_Web_Frameworks_Devoxx2010.pdf
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Ranch Hand
Posts: 81
Eclipse IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic