TL; DR: Spring Boot is growing at an exponential rate and is set to become the most popular Java Framework soon. Spring Framework and Netty continue to grow strongly
Framework: ‘a basic structure underlying a system, concept, or text.’
Over the course of last year, we took a closer look at popular frameworks across several programming languages, including Java. As we noted at the time one of the factors which drives the popularity of a language is the availability of frameworks and tools which enhance developer productivity
In the latest bi-annual update to our RedMonk Programming Language Rankings my colleagues Stephen O’Grady and Rachel Stephens once again found Java to be in the top three 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 James Governor rightly points out ‘Java is Dead is Dead’.
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). We have also added in RatPack for this update, and always if there is a framework you feel we should be looking please do add a comment below or let me know on twitter.
We firstly looked at the top 15 frameworks, and as before two clear tiers emerged. The tier 1 frameworks consisted of
The Spring Boot Explosion
In our last look at Java frameworks we noted that Spring Boot was on an exponential curve, and over the last nine months it has leapfrogged both Netty and Play, with 76% growth. Interest in the Spring Framework continues to grow, at a 39% increase, but we anticipate Spring Boot over taking Spring as the initial starting point for Java developers in the coming year.
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.
Unsurprisingly given their stewardship of the project Pivotal are by far the largest commercial 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.
Spring also has support for Kotlin, which we anticipate some significant future growth in.
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.
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, and this activity has dropped off in recent months.
Lightbend (formerly Typesafe) lead in both contributions and issues with, although this activity very closely tracks the community involvement.
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.
Spark also has support for Kotlin, which we anticipate some significant future growth in.
The largest commercial contributor to Vert.X is RedHat, with the majority of issues coming from the wider community.
Vert.X also has support for Kotlin, which we anticipate some significant future growth in.
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.
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.
|Spring Boot||Pivotal||Apache 2.0|
Red Hat considered possible
Eclipse 1.0, Apache 2.0
|Spark Java||None||Apache 2.0|
Notes on the analysis
- Data was pulled in early June 2017
- 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.
Updates: July 3rd 2017 – added Vert.x twitter account and a note on Kotlin support for Vert.x