JetBrains has unveiled a development roadmap for Ktor, the company’s Kotlin-based framework for building asynchronous client and server applications. Topping the list are OpenTelemetry plugins, gRPC support, simplified dependency injection, and support for managed transactions.
JetBrains published the 2024 roadmap for Ktor on March 12. The company said its ongoing plans and goals remain consistent with previous years, and it will strive to keep the framework lightweight, flexible, and transparent.
JetBrains said the introduction of OpenTelemetry plugins for Ktor Client and Ktor Server will enable the generation of telemetry data such as metrics, logs, and traces. OpenTelemetry is a collection of SDKs, APIs, and tools for instrumenting and collecting telemetry data, to help operators analyze software performance and behavior.
To support managed database transactions, JetBrains plans to introduce a plugin that allows for starting a transaction at the beginning of the request and committing it at the end, provided there are no errors. This will simplify database access while providing support for recovering from SQL and application-specific exceptions. Presently, Ktor services require manual management of database transactions.
To simplify dependency injection, support for this concept will officially be added into Ktor Server this year. JetBrains thus far has been agnostic on dependency injection libraries, preferring to allow users to integrate preferred products. But many users have asked for explicit recommendations on how to integrate dependency injection frameworks like Koin into Ktor-based services.
Also in 2024, plans call for integrating gRPC into both Ktor Client and Ktor Server via an idiomatic Kotlin implementation. This will make creating and consuming gRPC services as familiar as HTTP and REST, JetBrains said.
To make it easier for creators of multiplatform libraries to support Ktor Client and Ktor Server, JetBrains plans to replace existing bespoke networking types with those provided by the Kotlinx-io multiplatform library, which provides abstractions for data sources and destinations.
JetBrains this year also plans to publish a CLI tool for Ktor, to meet demand for a command line-based alternative to the online project generator or wizard in the JetBrains Intellij IDEA Ultimate IDE. This move would allow users to create and modify projects within the terminal or shell.
JetBrains also plans to introduce a mechanism for accepting third-party Ktor plugins. This will consist of a simplified format for creating these plugins, a new version of the project generator, and a procedure for submitting a pull request to the Ktor team.