Java Web development frameworks
Back in May, we launched what proved to be our most popular investigation into Java developers tools and technologies: The Java Tools and Technologies Landscape for 2014. Propelled by a rush of charitable feelings, precisely 2164 JVM developers responded to the survey–each response donated 0.50 USD to Child’s Play, a charity that gives sick children game consoles to pass the time while sick.
One of the most popular subjects that we regularly cover has to do with Java Web Frameworks–after all, it’s one of the most active and fragmented technology segments out there. One in 10 devs we talked to doesn’t use any web frameworks at all, and one in five developers uses among 40 or web frameworks that aren’t even in the top 8 most used out there. What the heck is going on here?!
Here is what we’ll look at today:
- How many developers use multiple frameworks?
- Breakdowns for the top 4 frameworks compared to the average results (e.g. what % of Spring MVC users also use Vaadin?)
Let’s get started!
Nearly one-third (32%) of developers use more than one framework
Java web frameworks are one of the few technology segments we looked into that really features complementary tools–as you can see, 57% use only 1 framework and 32% of all respondents (including those that use nothing) said they use 2 or more frameworks. That goes up to 36% when we eliminate non-users. As if to emphasize the fragmentation of this area, we see different results when we break it down based on the 4 frameworks we’re looking at today.
What % of specific framework users use more than one framework?
- Spring MVC – 54%
- JSF – 54%
- Vaadin – 54%
- GWT – 70%
It would seem that GWT is not the single framework of choice for our respondents. Let’s dig deeper into the figures for these four frameworks.
Spring MVC users are strongly aligned with the overall findings–with Spring MVC in use by 40% of developers that use a web framework, this is not surprising. The top 4 frameworks used by Spring MVC users are JSF, Vaadin, GWT and Grails. Like a presidential election, we found the breakdown pretty much even: 54% of Spring MVC users also use another framework, but 46% stick only with Spring. Here are some other notable findings related to Spring MVC users:
- Grails is the holy grail – Grails among Spring MVC users is 57% higher than the average, which is sensible considering that SpringSource acquired G2One, the company behind Groovy, back in 2008.
- Struts 1 & 2 increased by nearly as much – The usage of Struts 1 & 2 among Spring MVC users is 54% higher than the average–16.2% compared to 10.5%. So, here are those Struts users that were considerably more prevalent in 2012! If these are mainly long-term Spring Framework users, then we can see the residual effect of the once-dominant Struts.
- GWT one-third more popular – GWT usage among Spring MVC users is 34% higher than the average. In our previous coverage of Java Web Frameworks, we identified Spring and GWT as fitting together naturally, complementing each other’s strengths and reducing the deficiencies.
With the dominant positions generally held by Spring, Vaadin, GWT, they are still aligned with expectations, but among JSF users we see a resurgence in what some developers might think of “legacy frameworks” (perhaps “mature” is better): Seam especially, but also Struts 1 & 2 and Wicket are more highly represented among the JSF crowd, while newer players like Grails and Play 2 are less commonly used. Notably, we can see that:
- Seam is about a billion% more popular – Barely reaching 2% of use by the average framework user, Seam usage among JSF users is 8%, a whopping four-fold increase comparatively.
- Struts 1 & 2 is one-third higher – As with Spring MVC, JSF is also a well-known framework that most likely built friendships with Struts 1 and 2 users back in the day. These two frameworks are found 32% more often among JSF users.
- Grails & Play 2 much less popular – While Grails (7%) and Play 2 (6.5%) were more popular for the average framework user, JSF users are 53% less likely to use Grails (3.3%) and 59% less likely to use Play 2 (2.7%).
Vaadin has been one of the fastest-growing web frameworks out there, specializing in helping devs design attractive UIs. If there was ever a framework that seems to have taken all the real estate from Struts 1 & 2, it would be Vaadin. GWT in our Decision Maker’s Guide to Java Web Frameworks (2014 edition), which we ranked as the #1 framework to use for Java development, although the main recommendation was to use several apply the strengths of several frameworks at once.
- GWT usage greatly increased (but still not #1) – With so many platform similarities, it’s not surprising to see GWT usage nearly double among Vaadin users compared to the average, but it’s still not in first place (held by Spring MVC). This reinforces our position in the Decision Makers report that Spring is used for its many strengths even when the dream-team Vaadin / GWT get together.
- Struts, party of 2? Struts? Hello? Compared to the Spring MVC and JSF crowd, Struts 1 & 2 usage is 2-3 times lower among Vaadin users–not even 7% use Struts 1 & 2 combined compared to over 16% for Spring MVC and nearly 14% for JSF users.
- Grails usage decreases by about 50% – Given that we ranked Vaadin and Grails nearly even in the frameworks report, it would seem they cancel each other out. Users need just one of them.