> 文档中心 > Spring/Spring Boot覆盖率第一,Java 8被放弃,Jakarta EE开发者调查来了

Spring/Spring Boot覆盖率第一,Java 8被放弃,Jakarta EE开发者调查来了

整理 | 祝涛
出品 | CSDN(ID:CSDNnews)

近日,2021年Jakarta EE开发者调查结果出炉。这项调查来自Eclipse基金会,它提供了对企业Java的技术见解,涉及基于Java的框架正在崛起的一些问题,包括Java是否用于云本地开发等等。以下是本次调查的一些重要发现。

在这里插入图片描述

什么是Jakarta EE?

Jakarta EE源于Java EE。2009年,Oracle宣布收购SUN,Java相关技术归Oracle所有。2017年,Oracle将Java EE移交给Eclipse 基金会,但因为Oracle不允许再使用Java EE这个名称,所以Eclipse 基金会只能以新名字Jakarta EE和开源的形式重新启动了它。它本质上代表的是Java现代化的能力,但同时与过去的技术保持联系——这是那些企业环境所高度追求的。

Jakarta EE是一套规范,使得世界范围内的Java开发者社群可以基于该规范来开发Java企业应用。这些规范由知名的行业头部企业制定,它为技术开发者和消费者注入了信心。Jakarta EE规范可以是平台规范(Full or Web Platform),也可以是单独的规范

忽略分类的差异,所有的Jakarta EE规范由以下部分组成:

  • API和规范文档——用以定义和描述规范
  • 技术兼容性工具包(TCK)——用以测试基于API和规范文档的代码实现
  • 兼容实现——那些成功通过了TCK测试的实现

事实上,Jakarta EE已经是开源云原生的Java新平台,已经支持的基础设施有:

  • Apache Tomcat实现了四个Jakarta EE规范——Jakarta Servlet、Jakarta Standard Tag Library、Jakarta WebSocket和Jakarta Authentication。
  • Spring Boot运行时嵌入Apache Tomcat、Eclipse Jetty或Undertow。
  • Eclipse Jetty实现了Jakarta Servlet、Jakarta Server Pages和Jakarta WebSocket规范。
  • MicroProfile实现了四个Jakarta EE规范——Jakarta RESTful Web服务、Jakarta Contexts and Dependency Injection、Jakarta JSON Binding和Jakarta JSON Processing。

在这里插入图片描述
更多详细内容可前往其官网查看:https://jakarta.ee/

关键发现

不出所料,Spring/Spring Boot也以60%的覆盖率继续占据这一领域的主导地位,比去年增长了16%。但Jakarta EE也来势凶猛,以47%的覆盖率紧随其后,比去年增长了12%Microprofile获得了34%的份额,增长了5%,紧随其后的是Micronaut和Dropwizard。

在这里插入图片描述

另一个发现是,使用Java作为工具的微服务的采用率自2020年(39%)以来上升了4%最流行的三种云本地技术分别是Docker、Kubernetes和Jakarta EE

另一方面,开发人员似乎终于放弃了Java 8,转而拥抱Java 11,Java 11的使用人数自去年以来增长了28%。这也是意料之中的结果,因为Java 11在云环境中扮演着重要的角色,它经过了调优,使容器下的Java工作负载更高效。

令人惊讶的是,哪怕有严格的许可制度,40%的受访者还是将Oracle的JDK排在首位,也就是说,大多数受访者还是更倾向于使用Oracle的JDK,而不是使用许可制度宽松得多的OpenJDK。AdoptOpenJDK紧随Oracle JDK之后,仅低了一个百分点,即39%。

有趣的是,在另一个调查中得到了一个不一样的结果。根据Snyk的2021年JVM生态系统报告,AdoptOpenJDK以44%的支持率排名第一,而Oracle的JDK以23%的支持率排名第三。似乎在云本地生产环境中,Oracle专有的JDK是开发者的首选,这可能是因为企业更重视Oracle的支持。

云本地环境中排名前5的runtimes/application服务器依次是Apache TomCat、WildFly、Quarkus、Jetty 4和JBoss企业应用平台。Wildfly排在第二位是实至名归的,因为它配置简单,支持JAX-RS2,而且资源是轻量级的。

在这里插入图片描述

接下来是在云上实现Java系统的前三种架构方法Microservices以43%的支持率位居第一,Hybrid以29%的支持率位居第二,Monoliths以18%的支持率位居第三

最后,超过48%的受访者表示已经迁移到Jakarta EE或计划在未来6-24个月内迁移,而受访者认为Jakarta EE社区应该优先重点关注的三大事项是:

  • 与Kubernetes的本地集成(2020年为47%,2021年上升到了63%)
  • 对微服务更好的支持(从2020年的41%上升到54%)
  • 创新速度加快(投票率达33%)

本次调查可以看出Java的永恒价值,它也许过时了,但它永远不会失效

参考链接:

  • https://www.i-programmer.info/news/80-java/14887-dissecting-the-2021-jakarta-ee-developer-survey.html
  • https://jakarta.ee/zh/about/