What is the web framework du jour for Java these days?
August 5th, 2007I hate building webapps. I’ve even gone so far as to swear that I would never work on another.
I guess I lied as I need to select a web app framework for an application.
I’m poking around at frameworks, and well, I’m lazy. Maybe you can help. I’m thinking of:
- Stripes – James raved about it a while back. Possibly shiny object of the day though.
- Struts 2 – Hooray for simple action based frameworks.
Things I’m not thinking about:
- Tapestry – sorry Howard, my mind doesn’t work like yours.
- Seam – Its JSF, which seems (no pun intended) to mean it will still suck. Is everything still required to be a POST?
- jRoR – I’m not ready to introduce a new language into the mix
- Grails – see above
- Spring Web Flow – seems to require a helluva lot of XML. I could be wrong.
Thoughts?
August 5th, 2007 at 11:06 pm
i’ve heard wicket pimped a bunch
August 6th, 2007 at 1:55 am
Dan, you know what I would talk to you about …
August 6th, 2007 at 2:07 am
Man, Seam is not all POST. You can do a completely REST-style application with it, just read the docs.
August 6th, 2007 at 4:07 am
Come on, Dan, for a talented Java developer like you, Groovy isn’t such a different language at all. You should try Grails! You won’t regret it.
August 6th, 2007 at 6:28 am
Hi Dan,
You might want to check out Matt Raible’s comparison of web frameworks that he presented as OSCon:
http://raibledesigns.com/rd/entry/oscon_2007_comparing_java_web
He also recently blogged an interesting chart showing mailing list activity for many of the frameworks:
http://raibledesigns.com/rd/entry/open_source_web_frameworks_mailing
Also, Spring MVC does support Convention-over-Configuration, which reduces the XML by a lot. I really like Spring MVC, but the only other one I’ve used is Struts 1…
http://www.springframework.org/docs/reference/mvc.html#mvc-coc
August 6th, 2007 at 8:29 am
Since you prefer action-based over component-based frameworks, and since you don’t code web apps every day (and so probably would not benefit as much from learning a new web app framework from scratch), you may wish to take a look at Spring Web MVC[1]. It is a much more modern improvement over Struts 1.x, and probably pretty close to what you can get with Struts 2.0. I had a lot of success with it on a previous account.
The big benefit of Spring Web MVC is that working with it also reinforces and strengthens overall Spring knowledge. There is a pretty good book[2] and user forum[3] over it as well.
Note that Spring Web MVC is not the same as Spring Web Flow–for work I had done in the past I turned out not to need the latter. AFAIK there is nothing you can do with SWF that you can’t do with Spring MVC–SWF just provides an optional abstraction that may or may not simplify things for you.
[1] http://www.springframework.org/docs/reference/mvc.html
[2] http://www.amazon.com/Expert-Spring-MVC-Web-Flow/dp/159059584X
[3] http://forum.springframework.org/forumdisplay.php?f=25
August 6th, 2007 at 9:01 am
A lot of how you choose a framework depends on what you expect out of a framework. For me, it’s simplicity first, and then in no particular order;
Stay out of the way – Any framework where I spend half my development time saying “Now how do I do this using this framework?” I want to steer clear of.
Less is more – The less a framework tries to solve the better. Get my request, do some validation, hand off to some service, deliver the response. Anything more is beyond it’s domain.
Be current – JDK 1.4 was great. But I’ve moved on. Take advantage of the syntax sugar of Java5. Embrace change.
XML ShmeXML – Hello, Annotations? Yes, they aren’t for everything, but they can do wonders to reduce XML configuration.
So far, Stripes is the only framework that fulfills my requirements. There are probably more, but that’s all I could come up with at the moment.
August 6th, 2007 at 1:29 pm
I think we are in web framework nuclear winter.
August 6th, 2007 at 1:30 pm
I think it all depends on the type of application you’re building. I’ve worked on quite a few projects helping companies choose a web framework and often found it’s easy to eliminate many of them based on 1) the application being developed and 2) what developers (both web and java) want in a framework. More thoughts on this on my blog:
http://raibledesigns.com/rd/entry/choosing_a_jvm_web_framework
August 6th, 2007 at 5:03 pm
Unlike most other Java frameworks, Wicket is centered around plain Java programming (opposed to having DSLs and a declarative programming model). XFire is one of my favorite Java libraries because it has a nice Java API/ is programmer friendly. You might like Wicket for the same reasons.
August 6th, 2007 at 6:04 pm
Hmmm, programmer friendly… give http://wingsframework.org a shot.
August 7th, 2007 at 4:35 pm
Well, if you’re interested in the Grails and jRoR, take a look at RIFE too. You can just continue using Java, no need to learn a new language.
August 8th, 2007 at 2:40 am
I wonder there is no one refer to ZK1.
I not know, You had ignored it or not.
If done, maybe I big wrong.
If not, try is worth.
BTW, not shot my english, you get it, right?
August 8th, 2007 at 7:44 am
Dan, you may remember JPublish (http://code.google.com/p/jpublish/)?! A traditional supporter of FreeMarker and Velocity. You have the BSF support for scripting actions (bsh, jruby, js, groovy, jpython, etc), DWR support through a recent added module, works great with Spring (examples included), supports Textile syntax via a simple JPublish component, is extensible and enforces a good separation of roles and concerns. I am currently banging against the walls in my attempt to add StringTemplate as another template Viewer … but that’s another story
Try it if you want and let me know how it goes. Cheers!
August 8th, 2007 at 11:12 am
My perspective: Stripes is the best Java framework out there right now, hands down. Struts 2 is the framework with corporate buy-in that’s the closest to Stripes. If you’re interested, bug me about it at the next GR-JUG meeting.
August 13th, 2007 at 9:58 am
Have a look at Waffle (http://waffle.codehaus.org). It’s been in development for a few years and recently combined forces with VRaptor. Some of the benefits of Waffle are:
1) No XML configuration required (besides the web.xml)
2) No complicated API – Controller are simply POJO’s
3) Use whatever view technology you want (JSP, FreemMarker, Velocity, even ERB if you want to use JRuby)
4) Built in Dependency Injection support
5) Not annotation heavy – (no annotation required if you use ParaNamer support)
6) Easy to test
Cheers,
Mike
August 22nd, 2007 at 3:00 am
Here we are! Just ask for what to use and you will get back all the currently available frameworks (save those whose supporters didn’t find this blog)
August 23rd, 2007 at 12:03 am
C’mon Dan. Seam adds several components that is missing from JSF such as s:link that doesn’t POST but a regular URL redirect
September 13th, 2007 at 3:29 am
Quick Pay Day Loan No Fax can be very easy to get approved for with Cash Loans Payday applicants in the market for cash advance during a crunch prefer online cash advance companies.
September 14th, 2007 at 4:17 pm
Hello, Nice blog posting about What is the web framework du jour for Java these days?. I would have to agree with you on this one. I am going to look more into url redirection. This Saturday I have time.
September 14th, 2007 at 9:56 pm
by far the best two imho:
http://waffle.codehaus.org/
and
http://www.vraptor.org/
December 12th, 2007 at 1:00 pm
Hey!…I found your site via Yahoo! when i was searching for cash flow model, and this post regarding What is the web framework du jour for Java these days? really sounds very interesting to me.. Thanks.
January 10th, 2008 at 1:00 pm
Have you looked at Hamlets? It is easy-to-use and easy-to-understand. You can learn it in 20 min. It is suitable for smaller web applications. Everything is in Java with complete separation of Java and HTML. Simple and fast.
http://hamlets.sourceforge.net
February 15th, 2008 at 9:36 am
apply for providian credit card
appealer predication sorted formants!humorous confronted
February 15th, 2008 at 5:40 pm
homeowner insurance ratings
fabrics Coleman corruptions:
February 21st, 2008 at 12:15 pm
i migliori deposito bonus del casinò online italiano
minstrel articulateness parker!
February 27th, 2008 at 9:49 pm
bingo games missouri
Neff range facings
March 26th, 2008 at 1:44 am
application for home equity loans
seasonable:recitation lossier:pretentious totaller unpublished.
May 29th, 2008 at 9:30 pm
gioca a poker online…
comply,analyzed partitions plotting proscription kidnapper …
October 3rd, 2008 at 1:46 pm
gay marriage health insurance…
glued dispatched,kneads pliable missioner …
October 11th, 2008 at 7:50 am
gambling tramadol phentermine carisoprodol casino…
voltages.suntanned Gerhardt….
January 22nd, 2009 at 9:59 pm
coverall bingo casino game for free…
depleted seduce!sanding,alms execution,…
April 1st, 2009 at 2:21 pm
There are many causes as to why a man gains an erectle or erecticle dysfunction or loses his ability to gain an erection (erectyle dysfunction).