TL; DR – Spring still dominates, Spring Boot is on an exponential curve, Netty and Play continue to grow strongly
Framework: ‘a basic structure underlying a system, concept, or text.’
Within the software industry we have always had the privilege of standing on the shoulders of the giants that came before us when it comes to tools and methodologies. Frameworks in various forms have always existed. Over the last ten years, however, the number and variety of frameworks across most programming languages available for developers to choose has grown at an astounding rate. This growth has been fueled to a large degree by the growth in, and commercial acceptance of, opensource software. For developers, and the organisations they work in, choosing the right framework for the task at hand has become a commercially sensitive decision.
In the bi-annual RedMonk Programming Language Rankings produced by my colleague Stephen O’Grady we consistently see Java as one of the most popular languages. While the popularity of Java continues to be a surprise to some, it is something we here in RedMonk have been highlighting for a long, long time. As my colleague James Governor rightly points out ‘Java is Dead is Dead’.
One of the factors which drives the popularity of a language is the availability of frameworks and tools which enhance developer productivity, something which Stephen O’Grady has covered in the past. Java has a plethora of possible options, but as we will see a number of frameworks emerge as the most popular choice within the software development community. As always ease of use, with a focus on packaging, wins out.
For the purposes of this analysis we looked at the frameworks we hear mentioned in our conversations around Java. These frameworks are primarily focused on the server side. This is by no means a fully exhaustive list, but it does capture the most popular frameworks that we see being used with Java (some frameworks are also used with other languages, such as Play, and some frameworks are layered together, such as Netty and VertX). If there is a framework you feel we should be looking please do add a comment below or let me know on twitter.
Framework Popularity
We firstly looked at 15 significant frameworks, and two clear tiers emerged. The tier 1 frameworks consisted of
It is on these Tier 1 frameworks we will focus the rest of our analysis.
A Closer Look at Tier 1 Frameworks
Commits & Issues
While stars are useful proxy for interest in a framework, commits and issues are a more interesting measure of the vibrancy of the community.
In terms of commit activity Spring, Spring Boot, Play and Netty are the most active, while on the issues front Spring Boot, Netty and Play take a clear lead.
Commercial & Community Contributions Tier 1 Frameworks
For each of the tier 1 frameworks we identified, where possible, commercial contributions and issues raised, and split into three distinct groups – the primary commercial entity contributing code and/or raising issues, other commercial entities and the wider community.
Spring
Unsurprisingly given their stewardship of the project Pivotal are by far the largest commerical contributor to Spring. We do see the wider community raising most of the issues with Spring, again unsurprising given the wide adoption of the Spring Framework.
Play
Lightbend (formerly Typesafe) lead in both contributions and issues with, although this activity very closely tracks the community involvement.
Netty
Netty, formerly part of the JBoss project, remains extremely popular. There is no clear commercial sponsor at this point, but a large degree of commercial interest. Interestingly Apple now create the most issues, but this predominantly due to a single contributor.
Spring Boot
Once again Pivotal are by far the largest contributor to Spring Boot. On the issues front the rapidly growing community is reflected in the number of monthly issues being created.
VertX
The largest commercial contributor to VertX is Red Hat, with the majority of issues coming from the wider community. This reflects the hiring of specific core contributors by Red Hat.
Dropwizard
DropWizard was originally developed by Yammer, who remain the largest contributor to the project in code commits. The wider community contributes almost all of the issues related to DropWizard.
Spark Java
The lead engineers for Spark Java work for Sony Mobile, which continues to be the largest commerical contributor. The wider community continues to raise the majority of issues.
Commercial Support & Licensing Information
When we move to large scale enterprise deployments, commercial support can become a significant factor, only three of the tier 1 frameworks currently have formal commercial support. All of the Tier 1 frameworks are available under an Apache 2.0 license.
Framework | Commercial Support | License |
Spring | Pivotal | Apache 2.0 |
Play | Lightbend | Apache 2.0 |
Netty | None | Apache 2.0 |
Spring Boot | Pivotal | Apache 2.0 |
VertX | nothing official, Red Hat considered possible |
Dual licensed, Eclipse 1.0, Apache 2.0 |
Dropwizard | None | Apache 2.0 |
Spark Java | None | Apache 2.0 |
Notes on the analysis
- Data was pulled at the end of August
- Where possible we have identified commercial contributions to a project, but there will be some minor gaps and inaccuracies in this mapping.
Disclaimers: Pivotal, Red Hat, Oracle, Lightbend (formerly TypeSafe) are current RedMonk customers.
Dan Woods says:
September 15, 2016 at 4:28 pm
Next time would you mind including Ratpack (ratpack.io)? Thanks!
fryan says:
September 16, 2016 at 2:42 pm
Happy to, thanks for the pointer.
Bjoern Simon says:
January 12, 2017 at 6:22 pm
+1 for including Ratpack
Nick says:
November 22, 2016 at 11:38 pm
Thanks for the analysis. I’d love to see a breakdown of Scala web frameworks.