Coming Up for Air

Comparing JVM Web Frameworks - A Critique

Recently, Matt Raible again presented his Comparing JVM Web Frameworks, this time at JFokus 2012. The intent of the presentation, as best as I can gather from half a world away, is to prevent some of the major JVM-based web frameworks, showing the various strengths and weaknesses, which will allow the audience to choose a framework more easily. While the goal is laudable, I’m just not sure how well executed the attempt was.

Before I go any further, I should make some disclosures. The most important, probably, is my connection to JSF. I currently work for Oracle (and, of course, anything expressed on this blog is not necessarily shared by my employer, etc., etc. ; ), which I came to by way of Sun. JSF and GlassFish were my introduction to various Sun engineers and how I eventually came to work for Sun. I am a long time (and still current) user of JSF, I was a member of the JSF 2.0 Expert Group, and have worked on a handful of open source JSF projects (including Mojarra).

I should also note that I neither know nor have ever met Matt Raible. I know next to nothing about him beyond what I read in blogs and slides. I have never had the opportunity to attend one of his presentations, and I have absolutely no interest in starting a flame war, assail him in anyway, etc. I’m just giving my feedback to his public comments/presentation, and trying to engage in the discussion presentations like this are meant to engender. : )

Whew! With that out of the way…

  • How do you compare "JSF" and "MyFaces"?

  • What do you mean by "JSF"? Mojarra? MyFaces Core? Caucho? IBM?

  • What do you mean by "MyFaces"? MyFaces Core? MyFaces+Trinidad? MyFaces+CODI?

  • What do you mean by Spring? Spring…um… core? Spring Security? Spring Social?

  • How reliable are adoption numbers taken from polls at conferences? (Hint: I don’t think they are at all)

  • How do you filter the jobs numbers to reflect only web frameworks and not ancillary add-ons?

  • Why is your Wicket vs Seam data so old? Is there not a more current comparison?

  • Why are you throwing Seam in as part of JSF, but using vanilla configurations of the other frameworks?

I appreciate the intent of this presentation; I really do. I think it’s very helpful to have a good, honest look at the various frameworks, both as an end user and as an erstwhile framework developer. From just looking at the slides, though, I don’t know that this was a very effective or accurate execution of that. It may be true that the spoken part of the presentation has all the answers to the questions I’ve asked, but, as far as I know, that audio is not available. Furthermore, this seems to be the same presentation that has been given in times past, and I haven’t heard or seen anything from those occurrences that would give me any greater confidence in the fairness or accuracy of the information presented.

Finally, I’m clearly a JSF fan. I know some will probably take this to a thin-skinned response to someone critiquing JSF, but it’s not. From a certain perspective, I really don’t care if you like or use JSF. There are a large number of us who do, and we continue to improve and refine the specification and implementations to make our jobs easier, and, yes, to appeal to new users. If you don’t like it and want to use something else, please feel free. My main problem with this presentation is that seems to use questionable and/or old data to make unfair comparisons and conclusions. I could be wrong, of course, but since this is my blog, I get to express my opinions. : P

Quotes

Sample quote

Quote source