Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.

The Ultimate Java Web Frameworks Comparison: Spring MVC, Grails, Vaadin, GWT, Wicket, Play, Struts and JSF

Your time is too valuable to sit around waiting for your code to redeploy. Seriously, imagine how much more you could accomplish if you choose to Eliminate Redeploys from your daily routine!

4. Documentation & Community

For a good framework to continue improving, especially when not financially backed by a larger parent company (ehem, like VMWare, or the confusing new brand Pivotal), it’s important to have a couple things going for it. First, excellent documentation so that new users can quickly attain guru level easily, and secondly the willpower to not only establish the seeds of a community early on, but also to take a large part in interacting and fostering the community. Good examples of this are GitHub and NetBeans).

Spring MVC

Being the most used framework by Java developers definitely has its perks. There is so much information out there about Spring that a whole report could probably be dedicated to just listing and analyzing the available resources. The Spring website itself provides numerous tutorials both in video and written format, and it’s useful for beginners to the most advanced developer. There is a link to a GitHub repository with the Petclinic sample application – the go-to for a Spring MVC tutorial. Spring also hosts a blog on their website with articles written by the public as well as Spring team members.

The community is strong with this one. The Spring team actively encourages forking the Spring project repositories in order to make changes, fix bugs and add new features. They allow public access to their JIRA tracker in order to facilitate this. There are numerous Spring User Groups and Java User Groups that discuss Spring topics. Spring even holds an annual conference called SpringOne/2GX. The Spring hosted forums and SO are great places for asking and answering questions and the website blog and monthly newsletter keep developers updated on new technologies and accomplishments.

Score: 4/5Just look at these docs! You can get information about anything and these docs are mostly up to date. But if it comes to starting from scratch as a newbie (finding how-tos and tutorials), then the life will be harder.


Grails

There is a huge amount of information out there. Documentation section is actually a wiki, which can be modified by any logged in user http://grails.org/edit/Documentation. It has an official manual, tutorials, screencasts, a sample app and more. If that is not enough, then look through 42k topics in the mailing list or search through nearly 12k grails-tagged questions on SO.

Score: 5/5 — Awesome documentation and a lot of extras, like screencasts. Big and passionate community.


Vaadin

Documentation? How about a book that you can use to swat an elephant! The Book of Vaadin is a must have reference manual for all your queries. It does cost to buy the book online, but you can download the PDF for free, or pick up the book at one of the many conferences the Vaadin folks sponsor. Online, there is also a bunch of documentation, including tutorials and demo videos, which are extremely easy to learn from and replicate. The community is strong with an active forum, blog, webinars, conference appearances and of course the community contributions on the Vaadin directory. StackOverflow also has many Vaadin questions, but it looks like for a quick response you’re better off heading straight for the Vaadin forums.

Score: 5/5 — Top class documentation, both online and in The Book of Vaadin. Video tutorials and demos are also impressive. Vibrant community.


GWT

GWT has surprisingly extensive official documentation. The majority of the new (beta) GWT project website is tutorials and framework documentation detailing everything from coding basics to using complex UI widgets and handlers. There are numerous FAQs, reference guides and overviews about pairing GWT with other frameworks. The site also has sections for books (dating back to 2006) written about GWT itself and paired with other frameworks (namely Vaadin), case study videos, sample projects, and presentations given at various conferences. Both the sample projects and presentations are available for download from the website.

Google also established a set of discussion groups and mailing lists that help users obtain support for technical issues and allow them to share their latest accomplishments and projects with the GWT developer community. Developers can benefit GWT by getting involved in general discussions on the GWT group and by becoming a GWT Contributor. As a Contributor, developers can share source code patches and updates to the project itself, expanding GWT’s features and functionality.

Score: 4.5/5 — Great up-to-date documentation, official and non, and active community.  


Wicket

Wicket has reasonable documentation and a somewhat active community. The Wicket website, http://wicket.apache.org/, hosts a large compilation of available examples, sample projects, and resource links. The examples provided range from your basic “Hello, World!” to examples detailing specific Wicket framework features, such as fragments and AJAX. On the site there is a Wiki, Reference Library, and a list of books about Wicket. The resources are useful … and a little bit old.

The community is as active as they need to be, if not as extensive as other framework communities. The website lists regular Wicket bloggers with links to their websites – the owners seem to post every couple months about a variety of topics, but the list seems to be a little out of date with only a third of the listed bloggers having updated in the past three months. There is a more extensive list of bloggers on the Wiki. Beyond the blogs, Wicket set up an IRC for more direct support, there are a few dozen companies that provide commercial support, and there are a splattering of community meetups worldwide.

Score: 3/5 — The documentation is good and the community used to be very active, but recently it’s been slow.  The documentation hasn’t been updated since last year.


Play

Play has a reasonably sized community with great documentation and the support of TypeSafe.

The community as a grass roots component as well with lots of great tutorials on the web, there are even some great and freely available screencasts introducing Play. The Play framework site has full reference level documentation available free of charge and even covers secondary documentation that covers the non-framework pieces of Play, like Akka and SBT.

The community is very active and there are several companies that base their main sites and applications on the Play framework. One of these companies is LinkedIn, and they independently publish documentation for the Play framework community. Bugs reports and feature requests are solicited from the community on a regular basis, which leads Play to have a robust and active community.

Score: 4/5 — Lots of great documentation from TypeSafe (Play) and external sources. Play’s full API is well documented and there are great tutorials that show off the scaffolding features of Play.


Struts

Struts documentation isn’t very organised. There are some guides, tutorials and cookbooks both on the official site and 3rd-party websites. After spending more time than you’d like searching, you will actually find a lot of resources: tutorials for beginners, guides on how to integrate Struts with Spring/Hibernate/%LIB_NAME% and detailed examples on how to use different Struts features. The community is big enough, considering the age and popularity of the framework, so you won’t be let alone with your problem. But the amount of dead links (e.g. to the “Wiki pages”) on the official website makes us a bit worried.

Score: 2.5/5 — Awful official documentation. User-written tutorials are slightly better.


JSF

JSF is unlike any other framework in our report for one main reason: it is fully supported and has a reference implementation from Oracle. Unlike the other frameworks in our report, JSF has a top down community with Oracle at the head paying employees to write documentation and create samples and examples. While the Java EE specification is determined by the Java Community Process (JCP), Oracle has a large part in determining and supporting features present in the specification. There is still a community based on JSF and there are a few exciting alternative technologies built on JSF, namely the MyFaces, PrimeFaces, and IceFaces.

Unfortunately, much of Oracle’s provided documentation for JSF is built around Oracle’s reference implementation of the Java EE tooling stack. Unless you’re a NetBeans and GlassFish user, you’ll be stuck looking for 3rd-party documentation sources. This is not necessarily a bad thing, there is a lot of great documentation available for JSF outside of Oracle’s sphere of influence, however it may not be as comprehensive and cover all of the features you want from the Oracle documentation. A simple search for JSF 2 tutorial on your search engine of choice will get you some great links, also youtube and other video sites have decent content.

Score: 4.5/5 — JSF has fantastic documentation provided by Oracle and there are tons of great books and online content from third party sources. The only downside of the documentation from Oracle is the reliance of their IDE and Application Server. Requiring Netbeans and Glassfish is definitely a detriment to the documentation and tutorials.

 

web-frameworks-documentation-and-community

Framework Score

Grails

5

Vaadin

5

GWT

4.5

JSF

4.5

Spring MVC

4

Play

4

Wicket

3

Struts

2.5



DOWNLOAD THE PDF