通往 Quarkus 3 之路:改进的开发用户界面、迈向 Diataxis 文档的步骤和性能提升

Quarkus 3.0 进展与开发者体验改进

Quarkus 即将发布 3.0 最终版本,目前已经推出了 Alpha5 版本。InfoQ 采访了 Quarkus 联合负责人、Red Hat 杰出工程师 Max Rydahl Andersen,了解新版本中如何提升开发者体验。

开发者体验的持续改进

Quarkus 的核心使命不仅是提升速度和云原生能力,还包括开发者的愉悦感以及对响应式和命令式编程风格的支持。在之前的版本中,开发者体验(DX)和生产力一直是重点。Quarkus 3.0 将继续这一传统。

Andersen 提到,Quarkus 通过以下三个功能提升开发者生产力:

  1. 持续测试:允许开发者在不复杂设置的情况下进行测试。
  2. 开发服务:简化开发环境配置。
  3. 热重载体验:支持快速迭代和尝试新功能。

此外,Quarkus 计划改进开发者界面的可视化体验,并探索 CLI 插件机制,以支持外部工具的集成。

编程语言支持

关于 Kotlin 和 Scala 的使用情况:

  • Kotlin:使用率逐渐增加,Quarkus 已分配专门工程时间优化 Kotlin 体验,例如改进热重载和探索协程与响应式代码的使用。
  • Scala:使用较少,主要集中在 Scala 3 的补丁支持。

响应式与命令式编程

Quarkus 框架基于响应式核心,开发者可以选择以命令式(阻塞)或响应式方式编写业务逻辑。未来,Quarkus 将继续支持三种编程模型(命令式、SmallRye Mutiny、Kotlin 协程),开发者应根据应用类型选择合适的方式。例如,事件驱动应用更适合响应式编程,而传统 CRUD 微服务可能仅在某些场景下使用响应式。

此外,Quarkus 对虚拟线程(Project Loom)提供了有限的早期支持,尽管目前虚拟线程还不能完全替代响应式编程。

性能优化

Quarkus 持续优化性能,但最近遇到了瓶颈。团队发现 JVM 在优化 instanceof 检查时存在长期问题,并已与 OpenJDK 团队合作修复。此外,Quarkus 计划支持 io_uring,利用现代操作系统内核减少延迟。升级到 Hibernate 6 也将带来启动时间和原生镜像的改进。

文档与迁移工具

Quarkus 3.0 不仅带来了新功能和工具,还改进了文档,遵循 Diataxis 框架原则,并提供了迁移工具,帮助现有用户顺利升级。开发者被鼓励尝试新版本并反馈意见。

阅读 26
0 条评论