Java™ frameworks are bodies of prewritten code used by developers to create apps using the Java programming language. Java frameworks are specific to the Java programming language. It's a Java platform for developing software applications and Java programs.
Struts. Struts is an open-source Java EE framework used for creating enterprise-level Java web applications. Development is much easier with Struts since it uses the MVC pattern and convention over configuration.
Is portal based solution a good fit to this problem?
Personally, I would stay away from big fat Portal solutions (they are often productivity killers). I've heard good things about Gatein though but I don't have any real experience with it.
Any insights on using "Spring Roo" or "Play" will be very helpful.
About Spring Roo, I've read previous answers like Spring roo Vs (Wicket and Spring) and other things over the Internet but I'm still not convinced (maybe I don't get it), I'm not sure of its maturity, and, more important, I'm really wondering what SpringSource is doing with Grails and Roo (no, Grails vs Roo - why SpringSource is pushing two very similar technologies? doesn't convince me that they will both survive).
I can't say much about Play. I've seen the demo like everybody but I would like to read real life feedback. Until then, I'll wait.
I did find similar posts (...). Things have surely changed in the mean time!
Yes and no :) But let's enter the presentation frameworks hell: there is no single answer to your question (like one year ago), there are dozen of frameworks around there and no clear winner. Just to cite a few:
Actually, I'd suggest to take a look at Matt Raible's presentations, he really did a great job at comparing web frameworks, showing their strengths and weakness, gathering facts and numbers, showing trends... I recommend:
Really, have a look at these presentations, they will help you to find an appropriate framework (there is no unique answer but you can restrict the choice by elimination) and might change your point of view.
I've been using Spring 3 3 and jQuery for a while, but heard about Play and gave it a shot. I really like it, Play is a great fit between something like PHP and the heavy duty Java frameworks like Spring.
The things I like most about play are:
Things I don't like about Play
The top choice for me is Wicket.
It has:
You can debug right into your pages / components and don't get cryptic error messages from your JSF implementation ;)
There is also a good comparison wicket <--> JSF in terms of performance.
The top three choices for me are (alphabetically):
They:
Play is closely similar to Ruby on Rails - a https://en.wikipedia.org/wiki/Ruby_on_Rails version in Java.
In contrast to other answers, I'd like to highlight the disadvantages (IMHO) of popular web frameworks:
JSF 2 - Released and already aged. Still only a few news/articles/blog posts/experiences out. I am sceptical. Still waiting for the next major release of Richfaces/Icefaces which fully supports JSF 2 - currently only alpha builds can be downloaded.
Struts 2 - Seems to be only a good thing if you're still relying on struts and want to refactor most of your code. Otherwise: Don't.
GWT - I do not like the single-page and the Java → JavaScript approach. I am not sure if one session - multiple views/windows can be easily achieved. For me, this framework should be used for massive-users single-window rich internet applications.
Wicket - Nice approach, but a little bit verbose and too less documentation available (except the good wicket in action book, but this covers only 1.3). Also, for me it lacks of big projects which are built on top on it. And I currently cannot see where the road of wicket is traveling or if it has already been driven to a dead end.
Spring MVC - I did not try this yet, but you have to include many JAR files (Spring mess) in your classpath to work with this framework properly. And it relies on JSP (in most projects), which I consider already dead. And you get only a pure MVC framework - all other things (Ajax and others) have to be implemented/integrated.
Stripes - A small and nice designed MVC framework, but too little documentation, too few commits/committers, too few releases, too little industry support, too little mailing list activity.
I am also curious if I missed a major framework out there (I left Tapestry out intentionally) which might be an option for you (and also for me, too).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With