转载

2019 年 Java 开发者生态报告!

数据来源自国外的一个调查,在过去的几周,这份调查一共采访了 6707名开发人员 。数据来源: https://www.baeldung.com/java... 。

1.JDK 版本使用情况

2019 年 Java 开发者生态报告!

即使在今天 Java 13 都已经发布了,Java 8仍然是使用最广泛的 JDK 版本。不过, Java 8 仍然从去年的84.7%下降到今年的79.8%。我觉得这很大程度上因为 JDK 8 是一个较为里程碑的版本,JDK 8 提供了 Lambda 表达式、函数式接口、Stream 流等等非常方便开发的新特性。为什么 Java 8 还是采用最多的 JDK 版本呢?我觉得还有一点非常重要的原因是:很多人连 Java 8 的新特性都没玩熟,连最基本的 Lambda 表达式和 Stream 流都玩不转,显然你引入更高版本的 JDK ,里面很多新特性大部分也不一定会用,而且不一定能用到。关于 Java 8 新特性,可以查阅这篇文章: Java 8 新特性最佳指南 。

2.Spring Framework 的使用

2019 年 Java 开发者生态报告!

与 Java 相对,这是一个完全不同的故事。去年Spring4超过50%,现在已经达到30%,而Spring5从今天的24%上升到今天的58.4%。我觉得这大概率是因为 Spring Boot 最新的版本内部就是集成的 Spring 5,并且Spring 5 更有利于开发者进行开发。

Java EE的使用占比也很有趣,从去年的9.5%上升到现在的14%。

3.Spring Boot 的使用

2019 年 Java 开发者生态报告!

对于 Spring Boot,可以看出还有 Spring Boot 已经成为最主流的 Java Web 框架,这点我们在平时工作和学习中也是可以清楚看到的。但是,仍然有接近 25% 的开发者并没有选择使用更优秀的 Spring Boot,难道是为了维护老项目或者是不想拥抱更加优秀的技术?

Spring Boot 2.0+从去年的30%上升到现在的60.5%。Spring Boot 在我们平时开发中使用的太广泛了,一般情况下进行新项目的开发都会优先选择Spring Boot 并且是它的最新版本。为此,我自己也开源了一份 Spring Boot 学习指南: https://github.com/Snailclimb/springboot-guide (目前已经支持在线阅读!)

4.构建工具的使用

2019 年 Java 开发者生态报告!

构建工具的数据貌似很稳定,和去年一样,Maven 还是开发者使用最广泛的构建工具。

这点其实还是令我比较诧异的。虽然,我知道大部分国内用户和公司都是使用 Maven 的,这点你可以通过在 Github 上搜索 Java 项目有比较清楚的认识。但是,我以为国外会优先使用 Gradle ,毕竟 Gradle 相比于 Maven 在很多方面做的还是要好点。而且,我所在的外企公司在前几年就开始大规模采用 Gradle 开发 Java 项目了,不说其他的。我个人觉得 Gradle 用起来更舒服一点,也推荐各位可以尝试一下。

5.IDE 的采用

2019 年 Java 开发者生态报告!

IntelliJ 毋庸置疑是使用最广泛的 IDE。但是, 为啥 Eclipse 今年都还有 32.8% 的占比,虽然,相比于去年的38%降低了不少。

6.web 服务器的采用

2019 年 Java 开发者生态报告!

Tomcat 仍然是开发者中使用最广泛的 web 服务器,市场占有率高达 73 %。Spring Boot 默认使用的 web 服务器就是 Tomcat 了,我想这也为它的市场占有率的增加加了把火:fire:。

Spring Boot支持以下嵌入式servlet容器:

Name Servlet Version
Tomcat 9.0 4.0
Jetty 9.4 3.1
Undertow 2.0 4.0

您还可以将Spring引导应用程序部署到任何Servlet 3.1+兼容的 Web 容器中。

7.其他基于 JVM 的语言

2019 年 Java 开发者生态报告!

虽然 Kotlin 被广泛采用和接受,但是仍然有 62.6% 的开发人员仅使用 Java。Kotlin 13%增长到了今天的16.5%。

Groovy从今天的19.3%下降到了17.4%,现在大多数注意力都转移到了Kotlin身上。Scala 也下跌了约1.1%,目前跌至8.6%。

因此,趋势很明显– Kotlin正在逐渐淘汰其他JVM语言

8.数据库的使用

2019 年 Java 开发者生态报告!

数据库领域感觉 MySQL 、PostgreSQL、OracleDB这三者所占的比例还是比较大的,MySQL 依然是开发者中使用最广泛的。但是,PostgreSQL大有超过之势头,PostgreSQL自去年以来增长了5%。非关系数据库使用最广泛的还是 MongoDB 然后是 Redis,平时开发中,但凡并发量会稍大一点,都会选择使用 Redis 作为缓存层,避免过多请求直接访问数据库。

9.总结

我个人感觉上面的数据统计情况大部分都是意料之中,让我感到意外的是构建工具的使用以及使用 Kotlin 的开发者的占比。

总而言之,本文对Java 社区进行了非常酷的介绍。

开源项目推荐

作者的其他开源项目推荐:

  1. springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护)。
  2. programmer-advancement : 我觉得技术人员应该有的一些好习惯!
  3. spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。

公众号

2019 年 Java 开发者生态报告!

原文  https://segmentfault.com/a/1190000020747618
正文到此结束
Loading...