JetBrains 公布了 Ktor 的 0224 年开发路线图。Ktor 是一个基于 Kotlin 的异步框架,用于创建微服务、Web 应用等。
该公司在路线图中表示,他们对 Ktor 的持续计划和目标与前几年保持一致。旨在努力保持框架的轻量级、灵活和透明,以便用户可以轻松创建强大且可维护的服务和客户端。
项目团队将致力于在每个新版本中提高所提供功能的质量和性能,同时扩展 Ktor 插件生态系统。此举将涉及引入新插件来简化现有用例(例如事务处理)并添加对新用例(例如 Observability 和 gRPC)的支持。
在改进核心产品的同时,还将为用户提供更轻松的开发体验。使插件生态系统更易于使用,并消除社区贡献的障碍。以及致力于提高所提供文档的范围、质量和多样性。并利用 Kotlin Multiplatform (KMP) 的稳定性和不断发展的多平台库生态系统,让 Ktor 开发人员能够享受到 KMP 的优势,创建多平台应用程序。
计划在 2024 年提供以下新功能:
- OpenTelemetry 插件。计划为 Ktor 客户端和服务器引入 OpenTelemetry 插件,这将使用户能够生成遥测数据(指标、日志和跟踪)并公布它以供收集。
- 基于 gRPC 的服务。团队正在努力添加 gPRC 支持。计划 2024 年将通过惯用的 Kotlin 实现将 gRPC 集成到 Ktor 客户端和服务器中。JetBrains 表示,这将使创建和使用基于 gRPC 的服务像 HTTP 和 REST 一样自然和熟悉。
- 在 Ktor 3.0.0 中迁移到 Kotlinx-io。用 Kotlinx-io 提供的网络类型替换现有的定制网络类型,以使得多平台库的创建者更容易支持 Ktor 客户端和服务器。通过此更新,现有 IO 功能将在 Ktor 3.0.0 中弃用,并将在 Ktor 4.0.0 中删除。
- 添加对托管事务的支持。目前 Ktor 服务需要手动管理数据库事务,适合复杂的场景。但是,在许多情况下,最好在请求开始时启动事务并在请求结束时提交事务,前提是没有错误。JetBrains 计划在 2024 年推出一个实现此行为的官方插件,简化数据库访问,同时提供从 SQL 和特定于应用程序的异常中恢复的支持。
- 简化的依赖注入。将于 2024 年正式在 Ktor Server 中添加对 DI 的支持,并发布有关如何最好地集成现有 DI 库的指南。
除了向 Ktor 添加新功能外,JetBrains 还将进行一些更改。包括对文档进行改进,2024 年的重点是提高当前内容质量并扩大对新材料的支持,计划通过多次迭代来支持:
- 扩展、改进和简化Ktor 服务器和 Ktor 客户端文档的入门部分中的教程。
- 解决云部署和配置主题。
- 介绍使用 Kotlin Multiplatform 进行全栈开发的综合指南。
- 扩大文档中 API 的覆盖范围。
以及计划进行结构性变革。教程将无缝地相互补充,更有效地链接主题,并且服务器和客户端内容将被重新组织以确保更清晰的区别。所有这些新增内容都将利用现代化的外观和感觉,并与其他 JetBrains 框架和库的文档集成。
JetBrains 还计划引入一种接受第三方 Ktor 插件的机制。包括用于创建 Ktor 插件的新的简化格式、项目生成器的新版本以及向 Ktor 团队提交拉取请求的过程。
此外,JetBrains 将在 2024 年发布 Ktor CLI 工具。满足对 JetBrains Intellij IDEA Ultimate IDE 中在线项目生成器或向导的基于命令行替代方案的需求。这一举措将允许用户在终端或 shell 中创建和修改项目。
更多详情可查看官方博客。