“Comparing JVM Web Frameworks” – a response to Matt Raible

For the last few minutes I’ve been trying to post a comment on this blog post http://raibledesigns.com/rd/entry/my_everything_you_ever_wanted and the blog engine there (Roller) throws an exception. Matt links to one of my tweets as an example of the “anger” he has inspired. Here is my response, hopefully at least the blog pingback will register.

Matt, you’ve linked to one of my tweets as an example of the “anger” you have inspired, so I’ll comment.

I have no problem with the web-frameworks comparison presentation you have been making for a while, sure, it is probably highly entertaining in a conference setting, audience participation and all. For the record, I have never agreed with some of your conclusions, having followed your legendary presentation for the last four years or so, but that is another story altogether. Just one example is the fact that you gave Apache Wicket negative marks (was that 2007 or 2008?) because you couldn’t integrate Sitemesh (of all things), and you were trying to do this the night before your presentation. Many in the Wicket community remember this incident well.

What troubles me (and many others in the community) is that you give the impression that your ratings are based on objective information, but that is not true, see this tweet from you: http://twitter.com/mraible/status/9819312227352576. What you are doing is adjusting ratings based on who in the community shouts the loudest. I can’t help saying that this approach comes across as highly arrogant and condescending, you seem to expect framework developers and proponents to rush over and fawn over you to get better ratings, like waiters in a restaurant trying to impress a food-critic for Michelin stars. If you are truly someone who is qualified to evaluate the framework relative strengths and weaknesses, you should be able to come out with your conclusions and stick to them, instead of relying on “community feedback”.

So please, by all means continue to do your web-framework comparison song and dance at conferences and the like, but please stop this charade of serving as an objective source of information on web-framework comparison. You certainly do have a reputation and level of respect in the Java EE community, and I guess there are still many development teams and stakeholders who would blindly follow your advice and recommendations, which I find highly unfortunate (for example, don’t get me started on your recent SOFEA obsession ;).

It looks like you had a great time at the Rich Web Experience, I just hope you don’t add “conference ambience” as a rating factor, because in that case other frameworks don’t stand a chance against Spring MVC and Grails. Just saying.

Anyway, for those wondering if I am anywhere near qualified to comment as Matt Raible, please have a look at some of the work I have done here for example: http://code.google.com/p/perfbench/

About these ads

25 Responses to “Comparing JVM Web Frameworks” – a response to Matt Raible

  1. Prem says:

    I looked at the chart you have put up with the framework comparisons. Any chance that you could include Apache Click into your comparison matrix?

    Thanks,
    Prem

  2. Richard Vowles says:

    I thought it was pretty odd as well – I didn’t understand GWT being in the list – its not a web framework, its a widget toolset! I use GWT every day at work and I wouldn’t even consider putting it in that list!

  3. Wille says:

    Making a blanket comparison of web frameworks is plain stupid. Different frameworks emphasize or even target specific problems, for instance GWT and Vaadin are for RIA type apps, you wouldn’t build a SEO friendly content based website with them, and I don’t think the framework creators would even try to pass them off for that purpose.
    Same goes for Flex.

    Wicket is great for relatively complex stateful apps with a high level of component re-use. Spring MVC is a stateless relatively low-level HTTP abstraction, etc etc.

    Comparing apples with oranges.. Straight comparisons are flawed, it’s better to compare “what is this framework good at?” and “what is this framework less good at?” to get an appreciation of where they fit in relative to each other.

  4. ” [...] for example, don’t get me started on your recent SOFEA obsession”

    Yeah, right, recent.

    Monday November 12, 2007: “SOFEA: Also known as SOUI”

    Before striking out, get your facts right.

    Best
    Stephan

    http://codemonkeyism.com

  5. karussell says:

    Just for the records: he never tried vaadin before he included it into his presentation

    How cool is that?

    It gets better: after reading the book the points of vaadin increase. So I agree 100% with your phrases here, Peter Thomas:

    “What you are doing is adjusting ratings based on who in the community shouts the loudest”

  6. karussell says:

    ups, the tweet gets a bit too large … but nice wordpress feature, right? just paste the twitter link …

  7. Wille says:

    Karussell:
    He did the same thing a few years ago with Wicket: went on the mailing list the day before a presentation asking what Wicket was all about, then went on stage the next day to “authoritatively” present the pros and cons of various frameworks, Wicket included.

    They don’t call him Matt “Reliable” for nothing! :D

  8. I’m with Peter on this one, have a listen to our podcast on the topic:

    Episode 27 – Hudson, Oracle, Raible and AstyCrapper

    As I say in the cast, the thing that pisses me off most about this Spreadsheet is that someone is going to hand it to me at some point and base their decision for a project’s web framework on it.

  9. karussell says:

    > to hand it to me at some point and base their decision for a project’s web framework on it.

    oh, no, really? WTF? :-/

  10. @karussell As the Kool Aid Kid would say “Ooohhhh YEAH!”. When you get to the level of manager or architect that have no technical kung-fu of their own, they tend to rely on what guys like Raible, Fowler or firms like Gartner say as Gospel.

  11. I have never used Wicket. I probably never will. I don’t have anything against it. I have used Tapestry, JSF, Struts, Facelets, GWT, etc. There are many, many web frameworks to choose from and frankly I can’t be an expert at them all.

    That said…. I don’t think it is wise to personally attack Matt Raible. I think Matt has shown his technical prowess. If you don’t agree with him, say so. He has a right to his informed opinions.

    Also, I don’t always agree with Matt Raible, and am not a fanboy. If your manager blindly follows Matt’s recommendations, that is more of a you problem.

    I think Matt provides a good service trying to learn and grok the many many JVM web frameworks. I found his work on AppFuse inspiring as well.

  12. @Rick
    I’d be interested in knowing how we are personally attacking Matt Raible. I’m attacking his “work” and perhaps his credibility for just putting out a spreadsheet on web-frameworks without being forth coming on how the results were attained. But I never personally attacked him.

    And you are right, he has a right to his opinion, but so do we.

  13. Wille says:

    @Rick:
    It’s not about “fanboyism”, it’s about professionality – it is abundantly clear from the trail that Raible leaves in various forums that he is basically going on stage spouting of guesswork as “objective data” without even having tried a simple “hello world”-app, as the case with Vaadin shows, and has been shown with Wicket before.
    The guy starts reading up on a framework _after_ a presentation, but makes statements about them before.

    Is arbitrary guesswork “technical prowess”? I don’t think so..

  14. I gotta agree with Craig unfortunately; suits love to follow advice from ‘authoritative’ people to make up for the fact that they don’t have a clue themselves. Lots of pointed hair types think that if you pay someone to give you an opinion, or get it from a blog with lots of readers, it must be a good opinion, probably better than that of the grunts working in their own company.

    End of the day, I don’t blame Matt for what he’s doing. It’s a spot someone needs to fill in. However, he doesn’t score very high on the elite scale for me, exactly because he presents his arguments like a middle tier manager rather than a techie (i.e. using bullet points and slides rather than in-depth analyses).

  15. Rick, Matt and you have a very similar style actually. And disagree with both of you when it comes to how you gather and represent your data. I’ve sad that many times in the past (though the last 2 years, I grew weary of getting too involved in online discussions).

    My main pet peeves with both you and Matt are that you put stats like nbr of downloads, community size and how quickly they react to an inquiry (without properly regarding that some people may just not react because they are tired of the b.s.), whether a project has commercial backing etc in the front when it comes to selecting a framework. But it typically isn’t. For a CMS/ CRM/ ERP/ whatever it would be. For an open source (web) framework, what matters is the quality of the code, how useful the project itself actually is (how does the programming model work for what you’re doing) etc.

    It would be way more useful if you and Matt would go more in-depth in your analyses. Inform people when framework X is a great choice and when it isn’t. What cotchas you need to watch for, how you can best organize your team and the rest of your code to use X effectively, etc. That’d be so much more helpful than the tiring old comparison matrixes.

  16. So. Many. Spelling. Mistakes :-( Sorry folks, hope you get my drift.

  17. karussell says:

    @Eelco But exactly this Peter T. tried (some time ago) with his comparison project, right?

    http://code.google.com/p/perfbench/

    And I think a matrix could/should show you pros and cons too (when to use it and when not).

  18. @karussel. That’s a performance comparison, not a framework recommendation. On top of that, I’m not Peter T either :-)

    I think in general I object to any kind of Matrix unless it is accompanied with big warnings that the Matrix probably oversimplifies things, and that you need to align you project needs and developer preferences to the frameworks you look into.

  19. Matt Raible says:

    Thanks for the response Peter. It’s good to see you blogging again, I’ve always enjoyed your in-depth comparisons between web frameworks. Here’s my response to your response:

    http://raibledesigns.com/rd/entry/how_i_calculated_ratings_for

  20. Rick, Matt and you have a very similar style actually.

    ** I don’t agree at all. Matt drinks until 2 AM and then gets up at 6 AM to code all day until his next conference speech. Then whilst watching another person’s talk, he is writing a comparison and creating a matrix of some sort.

    I am a casual blogger who codes at work. Matt is 10 times more prolific than me. We are nothing alike. This is a good thing for Matt.

    RE: My main pet peeves with both you and Matt are that you put stats like nbr of downloads, community size and how quickly they react to an inquiry (without properly regarding that some people may just not react because they are tired of the b.s.), whether a project has commercial backing etc in the front when it comes to selecting a framework.

    Yeah.. I have never done any of that. Are you sure you got the right guy? I write a few articles a year. Lately, I have been doing iPhone development in my spare time. I think my last article was on Pyjamas. On my blog lately, I wrote a lot about JavaScript. Before that I was working on back end services using Spring MVC’s JSON/REST support. I am much more subjective than Matt ever dreams to be. I read the getting started guide to Wicket and threw up in my mouth a little and never looked back. I also don’t like green eggs and ham.

    RE: For an open source (web) framework, what matters is the quality of the code, how useful the project itself actually is (how does the programming model work for what you’re doing) etc.

    I usually rate a project on how useful it is and if it has good documents, good community support, and how easy it is for me to learn. Examples, I had bad experiences with Tapestry 3 and Tapestry 4. Facelets (at first) had horrible documents, but was so easy to use and made so much sense, that it was easy. I think I am pretty clear that my opinions are my opinions based on my experience.

    That said, I agree with a lot of Matt’s analysis. I don’t think he is too prescriptive. He is a lot less subjective than Forester or the ilk and he is honest about being subjective when he is subjective.

    I think you would be a lot happier with his analysis if he declared Wicket the clear winner. I have met a lot of people who tried Wicket and just did not like it. I will probably run into it eventually. It seems eventually I have run into just about every web framework.

    This is not to say that I would never use Wicket. I just wouldn’t choose to use it. There have been a lot of frameworks that I did not choose. I used them anyway, and eventually I liked them.

  21. > I think you would be a lot happier with his analysis if he declared Wicket the clear winner

    Hey, that’s a bit under the belt isn’t it? Seriously though, nope. I haven’t been active with Wicket for the last two-three years, and I’ve used other frameworks in between. I’m not in this for my ego or because I think that Wicket is the only decent choice out there. I’d be cool with even the most gloomiest opinion on Wicket if it is argumented well.

    I’d be a lot happier if I’d agree with how the analysis was set up, and if it were less of a popularity contest and more of an in-depth analyses of pros and cons of the various frameworks. That would be more useful and ‘fair’ to all involved.

    > Are you sure you got the right guy

    I remember your name in the context of you defending JSF, slapping non-believers around with job stats and other suit arguments. You might be his twin brother? ;-)

  22. LOL

    I have not touched JSF in a few years. I have nothing against it. Just doing other stuff. Yeah I put up some job stats. But none of the other stuff.

  23. Pingback: Confluence: Lunatech Intranet

  24. Pingback: “Comparing JVM Web Frameworks” – a response to Matt Raible « CSS Tips

  25. Wendy says:

    For an open source (web) framework, what matters is the quality of the code, how useful the project itself actually is

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 29 other followers

%d bloggers like this: