Matt RaibleMatt Raible is a Web Architecture Consultant specializing in open source frameworks.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

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.

The Venetian 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 in Java at Jan 11 2008, 12:06:24 PM MST 19 Comments
Comments:

Seems like kind of a joke of an "Expert Panel" without including Tapestry. Whether you like it or not it is a major player in java web framework space (i mean, search for a wicket job on dice and it asks you if you meant "ticket" ), so .....just think it reduces the credibility of "professional expert opinion". But whatever, you get to do what you want.

Posted by Jesse Kuhnert on January 11, 2008 at 01:44 PM MST #

I've got a suggestion for you. Use the shotguns seen in http://raibledesigns.com/rd/entry/a_weekend_in_nebraska instead of a bell.

Posted by Country on January 11, 2008 at 01:56 PM MST #

Who represents Wicket Matt?

Posted by Eelco Hillenius on January 11, 2008 at 02: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 02:30 PM MST #

I proposed a talk a while ago but never even got a decent reply. I guess I was as invisible as the framework I wanted to represent ;-) Most of our team don't have time to go to conferences much, so we're targeting the most interesting ones, like JavaPolis, JavaZone, ApacheCon and JavaOne. Hope to see you at one of these again sometime Matt. For now, hope you have fun at the smackdown.

Posted by Eelco Hillenius on January 11, 2008 at 02: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 02:49 PM MST #

I wonder whether SpringMVC is that popular. Not if you read people's opinions about it and look at things like mailing list activity. But to keep things interesting for people, you should pick frameworks that are (very) different from each other, regardless of whether they have a big user base. The list you propose looks good in that respect. Maybe for next year you could add one: no framework, just a JavaScript lib (like YUI). Would be interesting to look at the pros and cons of that in a structured way.

Posted by Eelco Hillenius on January 11, 2008 at 02: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 03: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 04: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 04:24 PM MST #

Will we ever see a winner out of the smackdowns?

Posted by James Mathes on January 11, 2008 at 06:08 PM MST #

I think T5 will be final before the end of March. I'm now free to work on it full time without wondering how to pay the rent, which makes a huge difference.

Posted by Howard M. Lewis Ship on January 11, 2008 at 06:46 PM 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 11, 2008 at 09:58 PM MST #

If there's no winner... perhaps it should appropriately renamed to Framework Tea Party instead :) You said (and I agree) that different frameworks have different sweet spots, do you think it's possible to come up with a framework which has all those sweet spots? What are the things that limit the Java world to come up with the ultimate framework? It would be interesting if you discuss about this in your talk. Why are we still at the same situation (many frameworks, no clear winner) after so many framework smackdowns? Are we doomed to stuck like this forever? What's the point of smackdowns if there's never a clear damage from one framework to the other? :p If there's no clear winner, at least one framework should come up as a clear loser from the smackdown.

Posted by James Mathes on January 13, 2008 at 01:29 AM MST #

Maybe there should be a contest before hand or afterwards with each group building a test project with their best of show. For example, maybe make a shopping cart program of some type. See which one requires the least amount of work to build it, see how the performance of it is and how well is scales, and any other things that might be worth wild. May have to factor in servers (app servers and database servers) as well (maybe they should all use the same app server and database) to be more equally matched up.

Posted by Eric Bresie on January 28, 2008 at 05: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 04:07 PM MST #

[Trackback] David Sachdev left the following comment in my post about the Java Web Framework Smackdown at TSSJS in Vegas : 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...

Posted by Raible Designs on March 06, 2008 at 04:49 PM MST #

I was just curious to find about job market for Guice today.. Dice shows 1 job with the keyword Guice in the whole USA :)

Posted by karthik on March 28, 2008 at 11:19 AM MDT #

I would like to know the limitations of Struts2 Mvc , please suggest me the related links or resources regarding this . Vikram

Posted by Vikram on April 10, 2008 at 03:56 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed