Publiée le 12 mars, la feuille de route 2024 dévoilée par JetBrains pour Ktor, son framework basé sur Kotlin pour la création d'applications client et serveur asynchrones, prévoit le développement de plugins OpenTelemetry, le support gRPC, l'injection simplifiée de dépendances et le support des transactions de bases de données managées. L'entreprise a déclaré que ses projets et objectifs en cours restaient cohérents avec les années précédentes, et qu'elle s'efforcera de maintenir le framework léger, flexible et transparent.
OpenTelemetry et transactions de base de données managées
Selon JetBrains, l'introduction des plugins OpenTelemetry pour Ktor Client et Ktor Server permettra de générer diverses données de télémétrie, comme des métriques, des journaux et des traces. OpenTelemetry est une collection de SDK, d'API et d'outils pour l'instrumentation et la collecte de données de télémétrie. Elle vise à aider les opérateurs à analyser les performances et le comportement des logiciels.
Pour prendre en charge les transactions de base de données managées, JetBrains prévoit d'introduire un plugin qui démarre une transaction au début de la requête et la valide à la fin, à condition qu'il n'y ait pas d'erreurs. Cela simplifiera l'accès à la base de données et rendra possible la récupération des exceptions SQL et spécifiques à l'application. Actuellement, les services Ktor nécessitent une gestion manuelle des transactions de la base de données. Pour simplifier l'injection de dépendances, le support de ce concept sera officiellement ajoutée au serveur Ktor cette année.
Un framework d’injection de dépendances
Jusqu'à présent, l’éditeur était agnostique par rapport aux bibliothèques d'injection de dépendances, de façon à ce que les utilisateurs puissent intégrer les produits de leur choix. Mais beaucoup d’utilisateurs ont demandé à JetBrains des recommandations explicites sur la manière d'intégrer des frameworks d'injection de dépendances comme Koin dans les services basés sur Ktor. Toujours en 2024, JetBrains prévoit aussi d'intégrer gRPC dans Ktor Client et Ktor Server via une implémentation idiomatique de Kotlin. « La création et la consommation de services gRPC deviendront ainsi aussi familières que le HTTP et REST », a affirmé le fournisseur.
Pour faciliter la prise en charge de Ktor Client et Ktor Server par les créateurs de bibliothèques multiplateformes, il anticipe par ailleurs de remplacer les types de réseaux personnalisés existants par ceux fournis par la bibliothèque multiplateforme Kotlinx-io, qui offre des abstractions pour les sources et les destinations de données. Enfin, cette année encore, JetBrains prévoit de publier un outil CLI pour Ktor, afin de répondre à la demande d'une alternative en ligne de commande au générateur de projet en ligne ou à l'assistant de l'IDE JetBrains Intellij IDEA Ultimate. Cette initiative permettrait aux utilisateurs de créer et de modifier des projets dans le terminal ou le shell. JetBrains prévoit enfin d'introduire un mécanisme d'acceptation des plugins Ktor tiers. Ktor disposera d'un format simplifié pour créer ces plugins, d'une nouvelle version du générateur de projet et d'une procédure pour soumettre une demande d'extension à l'équipe de Ktor.