前言 报告介绍了JVM生态系统年度调查结果。调查于2019年下半年进行,收集了2000多人的回复。 该报告由英国软件安全服务商 Snyk 联合 Oracle 官方刊物 The Java Magazine 联合推出。调查用户分布: 让我们一起看看报告大体内容,了解下JVM生态系统走向与趋势。 JDK 您当前在哪个Java供应商的JDK中使用主要应用的产品? 从图中可以看到,虽然甲骨文JDK仍然占主导地位,有34%。但是oracleJdk已经由18年的70%,下降到34%,openJdk较18年增长36%。有一个巨大的转向其他OpenJDK提供程序。4个开发人员就有一个1个使用openJdk。 您目前是否为JDK支持向供应商付款? 大多数参与者(86%)不希望支付JDK费用。事实上,目前只有9%愿意支付。 究其原因:从JDK 9开始,一个新的Java版本每年三月和九月发行,这个影响许多用户的更新策略。这一变化对安全性也有影响,安全修补程序没有被移植到旧版本。新的节奏影响了他们决定支付费用。 JDK8 您在生产中使用哪个JavaSE版本? Java8较去年有所降低,但仍然占大部分。2018 年 9 月发布了Java 的第一个长期支持(LTS)版本 Java 11, Java 8 的份额正在慢慢降低。参与调查的开发人员中已经有四分之一在生产环境中运行过 Java 11。许多人不愿意每6个月迁移一次保持JDK更新,51%的受访者说他们的目前的设置工作正常,所以改变不是需要的。55%的人愿意计划更新到版本JDK,因为这个版本每3年发布一次。22%还在考虑中是否引入。 JVM 语言 您使用的主要JVM语言是什么? Java语言依然占据Jvm的主导地位。Kotlin较去年所有上涨,以称为Jvm第二语言。Google在IO大会上宣布,将Android开发的官方语言更换为Kotlin。Kotlin代码简洁高效、函数式编程、空指针安全、支持lambda表达式、流式API等。Spring Boot等框架已于Kotlin有很好的集成。 Spring框架 项目中使用那个spring版本? Spring框架依然时Java生态系统使用最多的框架,随便spring的版本的更新迭代,现在很多项目上已经使用spring5版本。 其他语言 项目中还使用到的语言? JavaScript是最流行的前端语言,开发占62%,SQL占44%,在查询数据库时很受欢迎,而 数据科学与机器学习的流行选择应用程序是Python,占22%。 客户端web框架 项目使用哪一种客户端web框架? web端框架Angular,使用的最多,其次是React,Jquery依然有较高的使用,vue现在也很流行,较多人使用。 服务端web框架 项目使用哪一种服务端web框架? 服务器端仍然是一个Spring主导的世界,一半的市场都在使用SpringBoot,几乎三分之一的人使用Spring MVC。 IDE 开发中使用什么IDE? IntelliJ IDEA是在JVM社区中使用最广泛的IDE。62%的开发者使用社区和IntelliJ IDEA的最终版本,使其成为当今开发人员中占主导地位的IDE。Apache NetBeans在第三位保持稳定10%的市场份额。VSCode与去年相比,几乎没有增长。 Eclipse的用户已有较多的下滑。越来越多的转向IntelliJ IDEA。 构建工具 实际开发中运用到的构建工具? Maven仍然排名第一,拥有三分之二的份额,自去年以来略有增长。亚军,Gradle的增长率和它的竞争对手Maven一样。 持续集成 项目中运用的持续集成服务器? Jenkins 以高达 58% 的份额占据持续集成(CI)的主导地位,还有12%没有用到持续集成。GitLab,TeamCity占据着小部分的份额。 代码托管 运用到那个代码托管平台? 越来越多都使用Git方式来进行代码托管,SVN的使用也逐渐降低。GitLab和GitHub,以及BitBuchet三者的比例都差不多。GitLab和GitHub基于web的Git仓库,他们都提供了分享开源项目的平台,GitHub如果使用私有仓库,是需要付费的,GitLab可以在上面搭建私人的免费仓库。 报告中还有很多其他方面的分析内容,在这里不在一一举例了,如果想要详细的内容,可以私信我。 |
|