Java Web Framework Smackdown at TSSJS in Vegas
This year's TSSJS is starting to look like an excellent conference. I'm particularly excited to be moderating the following Expert Panel.
Java Web Framework Smackdown: Struts 2, Spring MVC, Grails, Seam/JSF and Wicket
The leading advocates of today's popular Web frameworks will duel under the Vegas Lights. Come and learn when to use your favorite framework and to see if it can live up to its hype.
We're talking about productivity, scalability and maintainability of Java-based Web applications. The emerging trend is that simplicity is better and productivity matters. Furthermore, if maintainability is the most costly part of any application -- how do these frameworks perform?
Attend if you're a Java Web developer, or if you simply like good entertainment. A working knowledge of the popular Java Web framework options will make this session more fun. If you haven't worked with any framework, come and learn who has the best spokesman.
I plan on bringing the boxing bell from OSCON 2005 to make this session one of the best in the show. I'll be coming up with a list of questions for these experts in the next couple of months. In the meantime, if you have any suggestions, please let me know.
With a venue like The Venetian, why wouldn't you go?
Posted by Jesse Kuhnert on January 11, 2008 at 07:44 PM MST #
Posted by Country on January 11, 2008 at 07:56 PM MST #
Posted by Eelco Hillenius on January 11, 2008 at 08:23 PM MST #
Eelco - I'm not sure who's representing Wicket at this point. Currently, there's no Wicket talks on the agenda - but there's 4 talks on JSF. I've expressed my feelings about JSF dominance to TSS.
Jesse - They said most of their attendees have had little interest in Tapestry in the past (hence the reason for excluding it this year). I told them with the instability between releases, I could understand. I also said that if Tapestry 5 was released prior to the show, we might be making a mistake.
In my experience with attending conferences, most folks are interested in learning more about Struts 2 (because they're using Struts 1), Spring MVC and JSF. The rest of the frameworks are very visible to us bloggers, but virtually unknown to 90% of the rest of Java Web Developers. Sad but true.
Posted by Matt Raible on January 11, 2008 at 08:30 PM MST #
Posted by Eelco Hillenius on January 11, 2008 at 08:38 PM MST #
I don't know why Wicket didn't get selected as I've been promoting it (as well as Tapestry 5) since we started discussing frameworks in October. For the record, here were my original choices (in no particular order):
1. JSF/Seam
2. GWT
3. Grails
4. Tapestry 5
5. Wicket
6. JRuby on Rails (or RIFE)
7. Struts 2
8. Spring MVC
Here's an excerpt from my e-mail to TechTarget:
----
Heavy Hitters (from a blogs/articles perspective): Grails, JSF/Seam, JRuby on Rails, GWT, Tapestry 5, Wicket
Struts 1, Struts 2 and Spring MVC are probably used more than the ones above, but I believe people are more interested in the Heavy Hitters, except if there's new cool stuff in S2 and Spring MVC (which I'm guessing there will be).
Stripes is pretty cool too, don't know about Click and ZK.
----
Posted by Matt Raible on January 11, 2008 at 08:49 PM MST #
Posted by Eelco Hillenius on January 11, 2008 at 08:59 PM MST #
@Matt
Sorry for thinking this was your doing.
Argh!! F-ing same old corrupt java politics B.S. I'm so sick of it.
Posted by Jesse Kuhnert on January 11, 2008 at 09:05 PM MST #
It is obvious Tapestry has lost its momentum. I saw this coming with the transition to Tapestry 5 so it is not a surprise to not even see it on this list. You can call it politics but where has Tapestry been in the last 12 months? You don't really hear anything coming out of that camp. This is unfortunate because I've developed a large amount of my code base around Tapestry (4x) and would love to see it succeed.
For me, at least, it seems the time is right to move on and let the frameworks battle it out so I've chosen to take the path of DWR, Prototype, etc. Besides, it is nice to detach oneself from the (heavy) Java web frameworks and get back to focusing on making things better for the user.
Posted by Dan P. on January 11, 2008 at 10:12 PM MST #
It's good to see Spring MVC represented twice, since Grails is built on Spring MVC and Web Flow.
It would be good to see the framework authors consider the big picture and recognize what's complementary about their architectures as well. I personally have found that action-based and component-based approaches to web application development can be be quite complementary, for example.
Eelco, Spring community activity can be measured by forum usage at http://forum.springframework.org. The old SF user mailing list hasn't been actively used for over 2 years now.
Posted by Keith Donald on January 11, 2008 at 10:24 PM MST #
Posted by James Mathes on January 12, 2008 at 12:08 AM MST #
Posted by Howard M. Lewis Ship on January 12, 2008 at 12:46 AM MST #
@James - I don't think declaring a winner is appropriate. Different frameworks are built for different application types. All of them have their "sweet spots".
@Howard - if it's released as final, I'll do my best to get you (or another Tapestry spokesman) a spot on the panel. Also, I'm sure we could arrange a Fireside Chat on Thursday evening.
Posted by Matt Raible on January 12, 2008 at 03:58 AM MST #
Posted by James Mathes on January 13, 2008 at 07:29 AM MST #
Posted by Eric Bresie on January 28, 2008 at 11:18 PM MST #
Isn't it all just pretty colored paints anyways?
So in this day and age of open source technologies we have had an explosion of software, technologies and an explosion it has been. Some of you know my theories on why a restaurant with limited selection has a line out the door while the place next door that makes better food but has eighty items on the menu does not do nearly as well. In this day and age, when snuggling up to the SourceForge bar, I feel like they are adding pages to the menu even while its in my hand.
The number of web frameworks out there is just astonishing, and in alot of ways I think that there is need for some consolidation in some way, shape or form. If you work in the Java world there is a sense of consolidation in the ORM space these days with JPA (the Java Persistence API). Sure if you are working strictly with JPA it is a bit more limiting then working directly with Hibernate, iBatis, or TopLink - but you no longer worry that you have made a critical misstep in your architecture by tying yourself do a particular ORM implementation. Similarly Spring gives you that similar "loosely coupled" feel that if Google's Guice because appealing to you, you don't feel like you've wasted all your framework foo on Spring. But web frameworks....that's another story.
I think if you had asked me a few months ago, I would have told you that the industry is promoting JSF (Java Server Faces). Everything from support in the IDEs to the availability of AJAX frameworks...and of course a flexible life cycle that allows for alternate implementations and various code to plug or be weaved in to the life cycle. And that while JSF on its own left quite a bit to be desired, the JBoss Seam project really has filled in the gaps in JSF, and in fact brought Java web development closer in agility to the Rails and Grails of the world that tout quickly built and deployed web applications.
But the thing that you continue to hear is that programming in JSF is painful. And you hear that EVERYONE used to use Struts. And that it is time to move past Struts. And given that, you have to consider Webwork and the merger of Struts2 into that framework - and their claims of rapid development. But you also have to consider Spring WebFlow and how that may help solve your JSF ills given that everyone is building off of the Spring Framework and they have been so good about keeping the framework updated and integrating the best of what is out there while innovating themselves. And then if you are looking at Spring WebFlow, you kinda have to go "Wait, but what about Spring MVC?"
Given its age, you might quickly dismiss Spring MVC until you realize that Grails is build upon it. Grails, that web platform that every java developer is either working with, or intends to work with soon. (Come on, you all have made the Ruby/Rails, Groovy/Grails, JRuby decision in favor of G2, right? I mean all the flexibility of what is out there in the Java world on top of the JVM, with a language that doesn't suck the life outta you....) And then you have to wonder that if you build upon Spring MVC as well as using Groovy and Grails where appropriate, might you be able to make that killer app in half the time.
But wait, you didn't think your choices were nearly that simple did you? There is this wonderful software company out in Mountain View that we need to pay attention too. In Google We Trust, right? And even if you don't worship at the Temple of the G (TOTG) like Sprout, you don't want to ignore them. And, if you've looked at the Google Web Toolkit (GWT) and weren't at least slightly impressed, I would be surprised. And if you are looking at the GWT, you can't totally ignore Yahoo's YUI - maybe with some of the what Prototype, Scriptaculous, or DoJo offer you. And then someone will come over and point out Echo2 to you, and well you have to admit, their demo looks nice. And well, there is Adobe Flex, and OpenLaszlo - I mean after all isn't Web 2.0 all about Rich Internet Applications. And surely you've heard that the performance of Swing is so much better these days and the "power of the modern Java applet"
So at the end of it all, you've got yourself alot of R&D to do, and just as you thing you've got a good grasp for the offerings out there, new and improved versions are out. And don't worry, someone else is also busy working on a new and greater web framework that you have to consider.
David Sachdev
Posted by David on February 22, 2008 at 10:07 PM MST #
Posted by Raible Designs on March 06, 2008 at 10:49 PM MST #
Posted by karthik on March 28, 2008 at 05:19 PM MDT #
Posted by Vikram on April 10, 2008 at 09:56 AM MDT #