{"id":455,"date":"2017-06-22T20:31:47","date_gmt":"2017-06-22T20:31:47","guid":{"rendered":"http:\/\/redmonk.com\/fryan\/?p=455"},"modified":"2017-07-03T11:26:58","modified_gmt":"2017-07-03T11:26:58","slug":"language-framework-popularity-a-look-at-java-june-2017","status":"publish","type":"post","link":"https:\/\/redmonk.com\/fryan\/2017\/06\/22\/language-framework-popularity-a-look-at-java-june-2017\/","title":{"rendered":"Language Framework Popularity: A Look at Java, June 2017"},"content":{"rendered":"<p><strong>TL; DR<\/strong>: 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<\/p>\n<p><em>Framework: \u2018a basic structure underlying a system, concept, or text.\u2019 <\/em><\/p>\n<p>Over the course of last year, we took a closer look at popular frameworks across several programming languages, <a href=\"http:\/\/redmonk.com\/fryan\/2016\/09\/08\/language-framework-popularity-a-look-java\/\">including Java<\/a>. 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<\/p>\n<p>In the latest bi-annual update to our RedMonk Programming Language Rankings my colleagues Stephen O\u2019Grady and Rachel Stephens <a href=\"http:\/\/redmonk.com\/sogrady\/2017\/06\/08\/language-rankings-6-17\/\">once again found Java to be in the top three languages<\/a>. While the popularity of Java continues to be a surprise to some, it is something we here in RedMonk have\u00a0 been highlighting for a long, long time. As James Governor rightly points out \u2018<a href=\"http:\/\/redmonk.com\/jgovernor\/2016\/02\/24\/on-lightbend-lagom-and-java-is-dead-is-dead\/\">Java is Dead is Dead<\/a>\u2019.<\/p>\n<p>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.<\/p>\n<h2>Framework Popularity<\/h2>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-457\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-stars-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-458\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-issues-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-459\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-fw-commits-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-481\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-300x206.png\" alt=\"\" width=\"300\" height=\"206\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-300x206.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-768x528.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-1024x704.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-1536x1056.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-480x330.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-twitter-170702-logo-912x627.png 912w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>We firstly looked at the top 15 frameworks, and as before two clear tiers emerged. The tier 1 frameworks consisted of<\/p>\n<ul>\n<li><a href=\"http:\/\/spring.io\">Spring<\/a><\/li>\n<li><a href=\"http:\/\/spring.io\">Spring Boot<\/a><\/li>\n<li><a href=\"http:\/\/netty.io\">Netty<\/a><\/li>\n<li><a href=\"https:\/\/www.playframework.com\/\">Play<\/a><\/li>\n<li><a href=\"http:\/\/sparkjava.com\">Spark Java<\/a><\/li>\n<li><a href=\"http:\/\/vertx.io\/\">VertX<\/a><\/li>\n<li><a href=\"http:\/\/www.dropwizard.io\">Dropwizard<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-460\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-stars-20170622-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>The Spring Boot Explosion<\/h2>\n<h2><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-461\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-300x206.png\" alt=\"\" width=\"300\" height=\"206\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-300x206.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-768x528.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-1024x704.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-1536x1056.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-480x330.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-reldb-20170622-logo-912x627.png 912w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h2>\n<h2><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-462\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-300x206.png\" alt=\"\" width=\"300\" height=\"206\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-300x206.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-768x528.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-1024x704.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-1536x1056.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-480x330.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-tier1-relbar-20170622-logo-912x627.png 912w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h2>\n<p>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.<\/p>\n<h2>A Closer Look at Tier 1 Frameworks<\/h2>\n<h3>Commits &amp; Issues<\/h3>\n<p>While stars are useful proxy for interest in a framework, commits and issues are a more interesting measure of the vibrancy of the community.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-463\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-issues-20170622-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-464\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/Java-tier1-fw-commits-20170622-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<h2>Commercial &amp; Community Contributions Tier 1 Frameworks<\/h2>\n<p>For each of the tier 1 frameworks we identified, where possible, commercial contributions and issues raised, and split into three distinct groups \u2013 the primary commercial entity contributing code and\/or raising issues, other commercial entities and the wider community.<\/p>\n<h3>Spring<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-465\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-466\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring-Framework-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<p>Spring\u00a0also has support for Kotlin, which we anticipate some <a href=\"http:\/\/redmonk.com\/sogrady\/2017\/05\/24\/kotlin\/\">significant future growth in<\/a>.<\/p>\n<h3>Spring Boot<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-467\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-468\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spring.Boot-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<h3>Netty<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-469\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-470\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Netty-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<h3>Play<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-471\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-472\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Play-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Lightbend (formerly Typesafe) lead in both contributions and issues with, although this activity very closely tracks the community involvement.<\/p>\n<h3>Spark Java<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-473\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-474\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-Spark.Java-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<p>Spark also has support for Kotlin, which we anticipate some <a href=\"http:\/\/redmonk.com\/sogrady\/2017\/05\/24\/kotlin\/\">significant future growth in<\/a>.<\/p>\n<h3>Vert.X<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-475\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-476\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-VertX-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The largest commercial contributor to Vert.X is RedHat, with the majority of issues coming from the wider community.<\/p>\n<p>Vert.X also has support for Kotlin, which we anticipate some\u00a0<a href=\"http:\/\/redmonk.com\/sogrady\/2017\/05\/24\/kotlin\/\">significant future growth in<\/a>.<\/p>\n<h3>Dropwizard<\/h3>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-477\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-ccc-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-478\" src=\"http:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-1024x1024.png 1024w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-1536x1536.png 1536w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-480x480.png 480w, https:\/\/redmonk.com\/fryan\/files\/2017\/06\/java-DropWizard-cci-20170619-logo-627x627.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>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.<\/p>\n<h2>Commercial Support &amp; Licensing Information<\/h2>\n<p>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. \u00a0All of the Tier 1 frameworks are available under an Apache 2.0 license.<\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td><strong>Framework<\/strong><\/td>\n<td><strong>Commercial Support<\/strong><\/td>\n<td><strong>License<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Spring<\/td>\n<td><a href=\"http:\/\/pivotal.io\">Pivotal<\/a><\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>Play<\/td>\n<td><a href=\"http:\/\/lightbend.com\">Lightbend<\/a><\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>Netty<\/td>\n<td>None<\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>Spring Boot<\/td>\n<td><a href=\"http:\/\/pivotal.io\">Pivotal<\/a><\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>VertX<\/td>\n<td>nothing official,<br \/>\nRed Hat considered\u00a0possible<\/td>\n<td>Dual licensed,<br \/>\nEclipse 1.0, Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>Dropwizard<\/td>\n<td>None<\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<tr>\n<td>Spark Java<\/td>\n<td>None<\/td>\n<td>Apache 2.0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Notes on the analysis<\/strong><\/p>\n<ul>\n<li>Data was pulled in early June 2017<\/li>\n<li>Where possible we have identified commercial contributions to a project, but there will be some minor gaps and inaccuracies in this mapping.<\/li>\n<\/ul>\n<p><strong>Disclaimers<\/strong>: Pivotal, Red Hat, Oracle, Lightbend (formerly TypeSafe) are current RedMonk customers.<\/p>\n<p><strong>Updates<\/strong>: July 3rd 2017\u00a0&#8211; added Vert.x twitter account and a note on Kotlin support for Vert.x<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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: \u2018a basic structure underlying a system, concept, or text.\u2019 Over the course of last year, we took a closer look at popular frameworks across several<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,19,15,40,32,33,25],"tags":[],"class_list":["post-455","post","type-post","status-publish","format-standard","hentry","category-cloud-native","category-community","category-developers","category-featured-data","category-frameworks","category-java","category-strategy"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/comments?post=455"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/455\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/media?parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/categories?post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/tags?post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}