A JetBrains revelou um roteiro de desenvolvimento para Ktor, a estrutura da empresa baseada em Kotlin para a construção de aplicativos assíncronos de cliente e servidor. No topo da lista estão os plug-ins OpenTelemetry, suporte gRPC, injeção simplificada de dependência e suporte para transações gerenciadas.
A JetBrains publicou o roteiro de 2024 para Ktor em 12 de março. A empresa disse que seus planos e metas contínuas permanecem consistentes com os anos anteriores e se esforçará para manter a estrutura leve, flexível e transparente.
JetBrains disse que a introdução de plug-ins OpenTelemetry para Ktor Client e Ktor Server permitirá a geração de dados de telemetria, como métricas, logs e rastreamentos. OpenTelemetry é uma coleção de SDKs, APIs e ferramentas para instrumentação e coleta de dados de telemetria, para ajudar os operadores a analisar o desempenho e o comportamento do software.
Para oferecer suporte a transações de banco de dados gerenciadas, a JetBrains planeja introduzir um plugin que permite iniciar uma transação no início da solicitação e confirmá-la no final, desde que não haja erros. Isso simplificará o acesso ao banco de dados e, ao mesmo tempo, fornecerá suporte para recuperação de SQL e exceções específicas de aplicativos. Atualmente, os serviços Ktor requerem gerenciamento manual de transações de banco de dados.
Para simplificar a injeção de dependência, o suporte para este conceito será adicionado oficialmente ao Ktor Server este ano. Até agora, a JetBrains tem sido agnóstica em relação às bibliotecas de injeção de dependência, preferindo permitir que os usuários integrem produtos preferidos. Mas muitos usuários pediram recomendações explícitas sobre como integrar estruturas de injeção de dependência como o Koin em serviços baseados em Ktor.
Também em 2024, os planos prevêem a integração do gRPC no Ktor Client e no Ktor Server por meio de uma implementação idiomática do Kotlin. Isso tornará a criação e o consumo de serviços gRPC tão familiares quanto HTTP e REST, disse JetBrains.
Para tornar mais fácil para os criadores de bibliotecas multiplataforma o suporte ao Ktor Client e ao Ktor Server, a JetBrains planeja substituir os tipos de rede personalizados existentes por aqueles fornecidos pela biblioteca multiplataforma Kotlinx-io, que fornece abstrações para fontes e destinos de dados.
A JetBrains também planeja publicar este ano uma ferramenta CLI para Ktor, para atender à demanda por uma alternativa baseada em linha de comando ao gerador de projeto on-line ou assistente no JetBrains Intellij IDEA Ultimate IDE. Essa mudança permitiria aos usuários criar e modificar projetos dentro do terminal ou shell.
A JetBrains também planeja introduzir um mecanismo para aceitar plug-ins Ktor de terceiros. Isso consistirá em um formato simplificado para a criação desses plugins, uma nova versão do gerador de projetos e um procedimento para enviar uma solicitação pull à equipe Ktor.