- 原文地址:Top Java Trends in 2021
- 原文作者:Sciforce
- 译文出自:掘金翻译计划
好吧,2020年已经证明,在今天做出预测至少是天真的。但在中长期投资决策方面,情况更为严峻。对于开发者而言,规划自己的职业生涯和有效地投入时间亦是至关重要的。 因此请关注Java最重要的一些趋势,这将有助于您不断调整。
Java仍是web、桌面、移动开发及嵌入式软件最流行的语言之一。2017年之前,它一直是Android开发的唯一官方语言,而后Kotlin也来分一杯羹。同时,要找出Google商店中使用Java的应用程序份额也并非易事。例如,像React Native、Cordova、Phonegap、Iconic等混合应用,他们的底层是Java,业务逻辑是JS。
此外,查阅可靠的统计数据也不容易,但 全球11个流量生成最多的网站里有8个在使用Java,至少在其后端编程方面。这一事实让我们清楚地认识到Java的实力和流行程度。另外,在最受企业欢迎的web服务器和搜索引擎中,Tomcat和Elasticsearch也使用了Java。与此同时,尽管Java是最受欢迎的选择之一并经受了时间的考验,但它也在采用云部署和容器化等大趋势。我们正在循序渐进地深入研究。
万物皆可云,Java亦如是
云计算的趋势早在新冠肺炎大流行之前就已浮现,但现在正在加速发展。平均而言,每人每天 使用36个基于云的服务,同时 81% 的企业 正在致力于他们的多云(multi-cloud)战略。根据Gartner的信息, 公共云服务的支出将从2020年的2700亿美元增长至今年的3323亿美元,增幅超过23%。
但Java space会有怎样的反应,以及将发生什么呢?您可能已经注意到,由于容器化工作负载的增加,越来越多的人采用AWS和一些其他云服务。因此,诸如 Micronaut、Quarks及Spring Boot等云原生和Kubernetes支持的框架变得更加流行。
Spring Boot
该领域的领先者Spring Boot,消除了设置Spring应用程序所需的模板配置。它具有嵌入式服务自以为是的“starter”依赖等特性,从而简化了应用程序的构建和配置。健康检查、度量指标(Metrics)和外部化配置则是令人愉悦的额外奖励。
Micronaut
据报道,Micronaut 是第一个在无服务器架构中高效工作的Java平台。它虽然目前人气不如Spring Boot,但是在Github上也有大约5000个星。尽管Micronant有一些类似于Spring的特性,但它具有编译时依赖注入机制。该框架在编译时构建其依赖注入数据,这是与大多数框架的不同。因此,您可以享受更小的内存占用及更快的应用程序启动。
此外, Micronaut还为客户端和服务器反应式编程提供了强大的支持。同时支持RxJava和Project Reactor。它还支持多种服务发现工具,诸如Eureka和Consul,以及不同的分布式跟踪系统,诸如Zipkin和Jaeger。
Quarkus
红帽公司于2019年发布的Quarkus目前在Github上拥有约8000颗星。InfoQ的Java编辑Erik Costlow指出, Quarkus正在使用云、Jakarta EE及GraalVM的最佳部分。它可以自动创建容器并快速重新加载。此外,Quarkus凭借它的插件生态系统以连接到其他系统。你可以查看每个插件的详细文档在你需要时。它支持Kubernetes、Hibernate、OpenShift、Kafka及Vert.x。
使用Quarkus,开发者可以专注于代码而不是技术工作和与资源的交互。此外,它是建立在标准之上的,因此您几乎不需要学习任何新东西。
GraalVM
GraalVM和静态编译是未来云的关键构造块,GraalVM具有提前编译(AOT)等特性,使用最流行的语言的特性和库,同时提供调试、监控、分析和资源消耗优化工具。Spring、Quarkus、Micronaut和Helidon这些框架都与GraalVM集成。
Java发布更新
Java 8 和 11 仍是目前最有用的更新。根据JetBrains 2020年的调查,75%的调查对象选择Java 8,Java 11则排在第二位。
目前,SE平台上的最新更新是2021年3月的发布的JDK16,这使得它成为最新的Java趋势。它具有17项增强功能,诸如JVM改进、新工具、库分类、孵化器和预览等以提高您的生产力。SE15包括如下改进:
自自动添加以来用于声明类的Records:toStrings、hashCode、getters、equals方法以及构造函数。
Hidden classes通常在运行时动态生成,无法通过名称访问,并且您将无法将其链接到其他类的字节码。
此外,JDK 17很可能在2021年9月到来,让我们拭目以待。
由于Oracle不会在发布后的六个月内零成本提供Java二进制文件,因此市场选择了非Oracle提供商,诸如AdoptOpenJDK、Azul、和Amazon。
概要
Java也跟随着云计算和无服务器架构(serverless architecture)等大趋势,因此云原生支持框架正在获得动力。Micronaut、Quarks、及Spring Boot就在其中,让开发者专注于代码而非底层结构。Java 8 LTS 仍然是最受欢迎的,但是 JDK 17 可能会在2021年9月到来。同时,迄今为止还没有打败Java8的趋势。
有灵感吗?别忘了为这篇文章鼓掌并给予我们一些灵感!