Java生态2018年度报告

风起云涌的Java生态,从语言到项目都有哪些新趋势。

JDK

毫无疑问,大多数开发社区仍然在生产中使用Java 8:

Java使用情况

Java 9、10的使用率不到5%。作为参考,2017年,Java 7及较早版本普及使用率为24.4%,这些版本如今的使用率依然保持在10.6%。大多应用都运行在Java 8上。

Spring

Spring的使用情况

在这一年,开发者转向Spring 5的趋势明显,基于Spring构建的应用中,24%运行在最新版的Spring框架上,去年,这个比例仅为2.2%。

Spring Boot

使用Spring为基础构建的系统中,几乎都采用Boot in production:

Spring boot

Spring Boot 2使用情况更令人咂舌,GA版本出现才2个多月,已经达到30%的普及率。Spring Boot 1.4及早期版本,从一年前的30%,下降到现在的6.8%。Srping Boot升级速度比其他生态下的应用更快。去年,基于Spring构建的应用中,大约有30.2%只使用Spring核心框架,而今,这个数字只有16.7%。

构建工具

Maven构建工具使用情况

Maven以74.2%压倒性优势,稳坐构建工具的第一把交椅,去年,这一数字是75.7%。

Gradle以1/5的占有率,21.3%的份额,占据第二。

IDE

IDE的数字一向都很有趣,今年也不例外:

IDE使用情况

IntelliJ从2017年45.8%一路追到现在55.4%,在Java领域IDE大战中完胜。让众多Java支持者失望的NetBeans,今年跌至5.1%,不到2017年12.4%的一半。Eclipse这位长胜将军稍显颓势,今年以来下跌了2%,份额为38%。

有趣的是,IntelliJ如火般侵掠Java IDE阵营过程中,倒下的不是Eclipse,反而是小众的NetBeans,即便互联网生产工具,也免不了互联网经济中老三总受伤的命运。

Web/Application Server

Web Server使用情况

Tomcat依旧是java web服务器霸主,占据62.5%的市场,超过所有java web应用服务器总和。其他服务器占有率份额相对均衡,平均占有约为5%。

JVM生态

排除Java后,目前运行在JVM上的编程语言分布情况如下图:

Jvm使用情况

62.8%的项目只使用java语言,使用其他前语言构建项目的比例:

JVM使用情况

Kotlin从2017年的11.4%,跃升到现在的28.8%。Scala,今年从28.4%变成21.6%。

总结

Spring Boot是未来几年java项目的标配,IntelliJ仍以强劲的势头横扫java IDE阵营。Kotlin成为今年最大的“赢家”,彻底改变了JVM语言的格局。