Live blogging from TheServerSide Java Symposium again, this time with Matt Raible, who is giving a presentation entitled “Comparing JVM Web Frameworks”. He began his talk taking feedback from the audience on what frameworks people are using, with one humerous dialogue that proceeded as follows:
“How many people are using Struts 1?”.
One gentleman raises his hand.
“Poor bastard. Are you using Struts with WebSphere?”
The gentleman nodded.
“Why haven’t you quit your job yet?”
1. Web Frameworks – Too many?
In the non-Java market, jQuery has risen to the top but this hasn’t happened in the Java world. Some people have criticized Java as having too many frameworks to choose from.
Matt is personally very much against Struts 1, as well as JSF. He talks about how the founder of both, Craig McClanahan has essentially ditched Struts/JSF for Rails in around 2007. He also quotes James Gosling as saying he hates JSF with a link to the YouTube video, although indicates he may have been referring to JSP.
2. Choosing a framework
Matt often talks about being asked which framework to use. He has constructed a list of 20 criteria to determine which framework to use such as:
Matt reviewed a number of platforms and posted the resulting matrix online. The top 5 ones based on these scores are Grails, Tapestry, Lift, Spring, and Struts2. Often the 5, 6, and 7 providers change every few months.
3. Business Decisions
Often companies hire consultants to reinforce web framework decisions that they have already made. A lot of companies have a proprietary web framework that can be successful for their product.
Matt has been criticized for his scoring by members of the community. He has posted a detailed explanation of how he calculated these ratings online. As a well-read GWT developer, I disagree with some of his scores for GWT, especially templating which only scored a 0.5.
5. Matt’s favorite web frameworks
Active Mailing Lists
One good measure of the health of a web framework is the number of developers asking questions and involved in the community, such as mailing lists and forum websites. Some frameworks have hundreds of questions posted a month while others have 1-2 and are clearly not being used much.
Matt finished asking the question “What if there is no ‘best’ web framework?”, to which he spent time presenting competing argument about how people ‘shop’ for frameworks. He compared shopping for frameworks with shopping for food and discussed an article with a researcher who did trending for how people choose food products. “When we pursue universal principles in food, aka web services, we are doing ourselves a massive disservice”. In other words, pick the frameworks that work for you, not neccesssarily the “best” framework.
Matt gave one of the best presentations I’ve attended at TheServerSide Java Symposium, and covered a large variety of web frameworks, while demonstrating expertise in each. As a fellow consultant, I appreciate that he emphasized how quickly it is to pick up these frameworks as well as how easy it is to find a job with these skills. At one point, he was one of only 3 active GWT developers in the Denver area and would get a call anytime there was a GWT job available.
Side note: Matt recommends all Java developers learn about and know JRebel given its power, saying if you take away only one thing from this presentation it is that you should know JRebel.