2020 Java技术趋势

引言

在比较了两个最新的行业调查报告以后,我们得出了今年排名前三的 Java IDE、框架、构建工具和最受欢迎的 JVM 语言。不仅如此,Snyk 和 JRebel 的调查问卷中也包含了最常用的 Java 版本。结果不出意外,还有什么理由反对版本升级呢?

安全公司 Snyk 刚刚发布了 JVM 2020 年度生态系统报告。我们就此机会,将调查结果与 Java 开发工具公司 JRebel 一月中旬发布的 2020 Java 开发人员生产力报告进行了比较。

Snyk 报告:snyk.io/blog/jvm-ecosystem-report-2020/

JRebel 报告:jrebel.com/blog/2020-java-technology-report

让我们一起来看看目前最流行的 Java IDE 和 JVM 语言,以及公司是否会选择升级生产环境的 Java 版本。

Java IDE 前三名

首先了解一下大家开发 Java 的主力 IDE。

IntelliJ IDEA 在两份报告中以较大优势胜出。在 Snyk 的调查中,有 62% 的受访者正在使用 IntelliJ IDEA;在 JRebel 的报告中,这一数字甚至更高,为82%。两项调查中的第二名都归属于 Eclipse(Snyk:20%,JRebel:24%)。

第三名的局势不太明朗:Snyk 调查排名第三的是 Apache NetBeans(占10%),而JRebel 的报告中 Visual Studio Code(占10%)位于 NetBeans(占4%)之前。相比之下,Snyk 的受访者中只有 2% 使用 VS Code 作为主力 IDE。

Java 构建工具前三名

Snyk 和 JRebel 的调查都向受访者询问了开发中主要使用哪些构建工具,得到的结果明显不同。

Snyk 排名前三的 Java 构建工具分别是 Maven(64%)、Gradle(25%)和Ant(6%)。尽管它们 JRebel 的报告中也排名前三,但结果的百分比却大不相同,Gradle(47%)、Maven(44%)和  Ant(7%)。

Java 框架前三名

调查还询问了受访者使用的开发框架。

Snyk 报告中 Web 服务框架的结果为 Spring Boot(50%)、Spring MVC(31%)。Snyk 还向受访者询问了 Spring 的版本,将近一半(48%)的受访者使用 5.1.x,其次是5.0.x(18%)。事实证明强烈推荐更新版本。Web 服务框架第三名,21% 的受访者选择“无”,11% 选择 JSF。

JRebel 报告得出的结果同样有很大差别,但 JRebel 的问卷允许选择多个答案,问题也不一样:“在主要开发项目中使用了哪些 Java 应用框架和技术?” 受访者把 Spring 列为第一名(86%),第二名是 Persistence(51%),第三名是服务端渲染技术(27%)。

JVM 编程语言前三名

这个问题只出现在 Snyk 的调查中,因此无法比较。Snyk 调查受访者使用哪种 JVM 语言完成主要开发工作。

Java 以 87% 的选票荣登榜首,不足为奇。Kotlin 得票 5.5% 是除 Java 外最受欢迎的 JVM 编程语言。Clojure 得票 2.9% 排名第三,受欢迎程度较低。Scala 得票2.6%,排名第四。Groovy 得票 1.5%,排名第五。

前3个Java版本

最后一个问题:受访者在生产环境中使用哪个 Java 版本?

事实证明,2014 年发布的 Java 8 仍然是王者,分别得到了 64%(Snyk)和 58%(JRebel)的投票。亚军是 2018 年发布的 Java 11 LTS,分别得到了 25%(Snyk)和 23%(JRebel)的投票。

生产中几乎没有使用 Java 8 和 Java 11 之外的其他版本。Snyk 的受访者使用 Java 12的比例为 4%,Java 7  或更低版本的比例为 3%。JRebel 报告的结果类似:只有 5% 的受访者使用 Java 12 或更高版本,甚至不及“Java 7 或更低版本” 的 7% 得票。Java 9 和 Java 10 在 Snyk 的调查中的得票均为 2%,JRebel 甚至没有把它们作为调查的选项。对Java技术,架构技术感兴趣的同学,欢迎加Q君羊:625241190,一起学习,相互讨论。

Java 8 成功的原因

为什么 Java 8 仍然被广泛使用?Snyk 仔细看了一下调查报告,在询问受访者为什么没有升级到最新版本时允许最多三个答案。

超过一半(51%)的受访者表示,当前版本一切运行正常;32% 的受访者认为迁移成本过高;30% 的受访者表示无法迁移业务;27% 的受访者回答新版本并没有提供期望的功能;还有 10% 的受访者明确表示不接受新版本的发布节奏。

调查报告说明

超过 2000 名受访者参加了 Snyk 的全球调查,其中 89% 具有技术背景。该调查于 2019 年下半年进行。JRebel 也进行了一项全球调查,该调查从 2019 年 9 月至 2019 年 11 月在 399 位参与者中进行。

更多信息,请参阅 Snyk 和 JRebel 的完整报告。

你可能感兴趣的:(java)