1.4 为什么Java开发者会选择Quarkus
Java开发者选择Quarkus 框架来进行开发,一般都是基于如下原因。
1.Quarkus 的技术优势
Quarkus 是面向容器化开发的解决方案。因此,与传统 Java应用相比,其拥有更短的应用程序启动时间。无论应用程序托管在公有云上或内部托管在Kubernetes集群上,快速启动和低内存消耗都是降低整体成本的重要保证。Quarkus 构建的应用程序与传统 Java应用相比,其能够将内存消耗减少到十分之一,启动速度加快 300倍。正是因为这两个突出表现,大大降低了云资源的投入成本。
2.开发体验的提升和乐趣
Quarkus 开发体验的提升主要体现在如下几个方面。① 易于使用:Quarkus 框架从产品设计之初就考虑到了易用性,启用时不需要特殊配置,零配置即可快速、实时重新加载;② 自由选择运行模式:应用程序可以编译、运行在JVM和Native两种模式下;③ 整合和优化的开发者体验:基于标准和框架,统一配置,实时编码,精简了 80%的常用代码,仅保留 20%的灵活代码,可生成一致的本地运行文件;④ 统一了命令式和响应式编程:大多数 Java 开发者都对命令式编程很熟悉,并希望在采用新平台时利用这种体验,与此同时,开发者正在迅速采用云原生、事件驱动、异步和响应式模型来满足业务需求,以构建高度并发且响应迅速的应用程序,Quarkus 旨在将两种编程方式无缝地集合在同一个平台上,从而在组织内实现强大的杠杆作用;⑤ Quarkus 将阻塞和非阻塞的代码相结合,包括一个内置的事件总线,将命令式和响应式编程结合运用,可以注入事件总线或者 Vert.x上下文,因此可以开放地采用适用场景的技术,这是基于事件驱动的应用程序的响应式系统的关键。
正是源于以上这些优势,使 Quarkus 成为在新开发领域(如 Serverless 架构、微服务、Kubernetes、FaaS和云)中运行Java的一种有效的解决方案。
3.扩展了最稳定、最流行的框架
Quarkus 通过利用开发者喜爱的最佳库及在规范标准主干上使用的在线库,带来了一个有凝聚力、易于使用的全栈框架,包括 Eclipse MicroProfile、JPA/Hibernate、JAX-RS/RESTEasy、Eclipse Vert.x、Netty、Apache Camel、Undertow……Quarkus 还包括第三方框架作者开发的扩展组件。Quarkus 扩展组件降低了运行第三方框架并编译为 GraalVM本机二进制文件的复杂度。
4.Quarkus 正处于上升阶段,社区非常活跃
Quarkus 已经发布了 1.11版本,其背后有像 Red Hat这样的开源大厂商支持,是值得信赖的新技术。Quarkus 还是一个完全开源的技术,它的上游社区十分活跃,版本发布节奏非常快,能够快速释放新特性和修复问题。依靠活跃的社区,维护者会快速回复问题和提供协助,用户会得到全面的问题解答。用户反馈Quarkus 在可靠性方面表现得可圈可点:
“一旦 Quarkus 的 MongoDB客户端扩展组件发布,我们立即能够将整个服务切换到原生模式。”
“Quarkus 社区和Quarkus 工程师非常活跃,即便在外部论坛中也是如此。”
“Red Hat在软件市场上的信誉让我们相信,使用由Red Hat主导的Quarkus 是正确的选择。”