JRebel 的调查收到了环球开拓者近 400 条回答。这份调查报告涵盖了开拓者工具链的所有部分,包括编程措辞、运用架构、运用做事器、运行时平台、框架技能、框架配置、IDE、JRE/JDK 发行版、PaaS 供应商、数据库、支配模式、构建工具和虚拟化工具。
Java 措辞58% 的受访者表示,他们在紧张运用程序中选择 Java 8 作为编程措辞。而 Java 11 以 23% 的受访者位居第二。7% 的受访者表示利用 Java 7 或更早版本,另有 6% 的受访者表示利用 Java 12 或更高版本。Kotlin 和 JavaScript 的利用率最低,分别为 3% 和 2%。
对我们来说,看到 Java 8 成为占主导地位的编程措辞,并不是一件令人惊异的事情。然而,令人惊异的是,只有 23% 的受访者利用 Java 11。我们认为,这与 Java 自从 Java 8 以来缺少真正有效的更新以及更新 JVM 的本钱有关。对付仍在利用 Java 7 或更早版本的受访者,我们估量,随着越来越多的运用程序连续迁移到 Java 14 或当前可用的版本,这一数字将会减少。
Java 运用做事器
各种运用做事器是否正在消逝?我们的调查结果表明,开拓者利用 Tomcat 的速率险些是最靠近的竞争对手的五倍。61% 的受访者表示,在他们的紧张运用程序上利用 Tomcat,很明显,Tomcat 是占主导地位的运用做事器。排名第二的运用做事器是 Jetty,占 13%;而 WebLogic 和 WebSphere 的利用率分别为 7% 和 6%。排在末了的是,JBoss/Wildfly 的利用率为 5%。
很明显,Tomcat 为了赢取如此大的市场份额,正在采纳精确的方法。对我来说,至少部分缘故原由是 Tomcat 的多功能性以及与其他紧张 Java 平台的兼容性,如 Spring Boot、Docker、Hybris 和 AWS。—Curtis Johnson,JRebel 产品经理
另一个紧张方面是它的本钱:它是免费的。管理层因此很难谢绝它。以前,缺少对运用做事器的支持是人们习气利用 Websphere、Weblogic 和 JBoss 等运用做事器的核心缘故原由之一。现在看来,Java 架构公司已经决定,支持运用做事器的最佳办法是在其架构中,而不是只在运用做事器中。
Java 运行时平台运行时平台最受欢迎的选择是 Spring Boot,占 83%。当然,多年来,Spring Boot 一贯是首选的 Java 框架。这至少部分归因于近年来 Java 运用程序越来越多地采取微做事。在所有受访者中,Spring 以 2% 成为第二受欢迎的选择,而不该用运行时平台的受访者也占了 2%,打成了平手。利用 Dropwizard、Micronaut、Vert.x 或自定义平台的受访者各占 1%。
Java 框架技能这个问题哀求受访者选择在他们的紧张项目中利用的运用程序框架和技能。由于大多数运用程序利用各种不同的框架技能,因此这个问题许可多个回答。
86% 的受访者表示利用 Spring。51% 的受访者表示利用了 Hibernate、OpenJPA 或 EclipseLink 等持久性技能。27% 的受访者表示利用了做事器端渲染技能,如 JSP、JSF、Thymeleaf、FreeMarker 或 GWT。26% 的受访者表示利用 JAX-RS 或 JAX-WS 技能,如 Jersey、RESTEasy、CXF 或 Axis。对付相应式框架,11% 的受访者表示利用了 Vert.x、AKka、RxJava 或 Project Reactor 等技能。末了,7% 的受访者表示在他们的紧张项目中利用了 JavaBeans。
Java 框架配置对付框架配置,我们创造大多数受访者在类、方法和字段上利用 @Annotation,或者利用外部 xml、yaml 或类似文件。68% 的用户表示利用 @Annotation,67% 的用户表示利用外部 xmlL、yaml 或类似文件。18% 的受访者利用在初始化期间运行的方法中添加的代码进行配置。
Java IDE在这个问题中,我们哀求开拓者列出他们专业利用的集成开拓环境(Integrated Development Environment,IDE)。就在几年前,开拓者还会质疑在 IDE 上费钱是否值得。
但是,有 82% 的受访者表示他们利用 IntelliJ IDEA ,很明显,这个付费的 IDE 非常值得一试。第二个最常用的 IDE 是 Eclipse,占 24%,而 VSCode 占 10%。末了,有 4% 的受访者表示,以专业身份利用 NetBeans。这些年来,NetBeans 真的失落去了所有的兴趣,乃至连 VSCode 在这次调查中都超过了它。
JRE/JDK 发行版在这个调查问题中,我们哀求受访者选择他们利用的 JRE/JDK 发行版。而且,在这项调查中一个更令人惊异的结果是,我们创造,将近 50% 的受访者正在利用付费的 Oracle JDK。这比利用 Oracle OpenJDK 的受访者要赶过 13%,后者的比例为 36%。
我们认为这可能出于两个缘故原由:1. 在我们的调查中有大量的 Java 8 开拓者。我们认为,利用 Java 8 的开拓者数量表明,该项目在很长一段韶光内没有更新了,这可能是使得运用程序保持在 Oracle 发行版的缘故原由。2. Oracle JDK 供应的支持可能比我们想象的更主要。
看到在我们的调查受访者中,有如此多的人在为 Oracle JDK 付费,这真是令人惊异。我完备期待开源选项拥有更大的市场份额。—Curtis Johnson,JRebel 产品经理
除了 Oracle OpenJDK 和 Oracle JDK 外,10% 的受访者表示利用了 AdoptOpenJDK,另有 2% 的受访者表示利用 Azul Zulu。
Java PaaS 供应商在这个问题中,我们哀求受访者报告他们所选择的 PaaS 供应商。在利用 PaaS 供应商的 60% 受访者中,43% 选择 AWS,14% 选择 Microsoft Azure,12% 选择 Google Cloud Platform。选择较少的供应商包括 Pivotal Cloud Foundry,占 4%,SAP Cloud Platform 和 IBM Cloud 各占 2%。
Java 数据库在这个问题中,我们哀求受访者选择他们当前利用的数据库。最受欢迎的是 PostgreSQL,占 47%,紧随其后的是 Oracle DB,占 42%。接下来是 MySQL,有 28% 的受访者报告了利用情形。MongoDB 位居第四,在受访者中占 12%。利用最少的数据库包括 SQL、NoSQL 和 Cassandra,利用率分别为 7%、6% 和 4%。
Java 支配模式在这个问题中,我们哀求受访者报告他们利用的是哪种支配模式。最受欢迎的支配模式(占 46%)是将运用程序作为 JAR 运行。44% 的受访者报告称他们支配到运用做事器上,而 5% 的受访者报告他们利用了 Hybris 或 Liferay 等平台来支配他们的运用。
Java 构建工具对付构建工具,我们哀求开拓者选择他们在主运用程序中利用的工具。不出所料,Maven 和 Gradle 是最常用的工具。但是,大概反响了在移动开拓领域事情的受访者的数量,Gradle 在这两者中更受欢迎。我们认为这并不能反响出 Maven 和 Gradle 被采取的现实,但无论如何,这都是一个有趣的征象。我们的调查创造,47% 的受访者利用 Gradle 作为他们紧张运用程序的构建工具,而 44% 的受访者表示利用 Maven。Ant 的利用率都低于这两个数字,均为 7%。
Java 虚拟化工具在这个问题中,我们讯问了开拓者他们利用哪些虚拟化工具。到目前为止,最常用的工具是 Docker,占 74%。考虑到利用微做事的 Java 开拓者的比例,这并不令人意外。Kubernetes 是第二受欢迎的虚拟化工具,占 35%,这表明 Kubernetes 在过去几年里经历了持续的增长。
随着 Kubernetes 的发展,它在未来几年将在市场上占主导地位也就不足为奇了。VMWare 和 Vagrant 是末了两个利用率最高的工具,利用率分别为 18% 和 5%。末了,有 14% 的受访者表示没有利用虚拟化工具。
小结微做事对开拓者在运用程序开拓过程中利用的技能带来了深远的影响。而且,随着公司连续转型并创建基于微做事的运用程序,我们估量技能选择将趋向于促进架构和在个中事情的开拓职员的需求。