El 12 de marzo, JetBrains publicó la hoja de ruta para 2024 de Ktor, su marco basado en Kotlin para crear aplicaciones asincrónicas cliente-servidor, que incluye el desarrollo de complementos de OpenTelemetry, compatibilidad con gRPC, inyección de dependencias simplificada y compatibilidad con transacciones de bases de datos administradas. La empresa afirmó que sus planes y objetivos actuales siguen siendo coherentes con los de años anteriores y que se esforzará por mantener el marco liviano, flexible y transparente.

Índice
  1. OpenTelemetry y transacciones de bases de datos administradas
  2. Un marco de inyección de dependencia

OpenTelemetry y transacciones de bases de datos administradas

Según JetBrains, la introducción de los complementos OpenTelemetry para Ktor Client y Ktor Server permitirá la generación de diversos datos de telemetría, como métricas, registros y seguimientos. OpenTelemetry es una colección de SDK, API y herramientas para instrumentar y recopilar datos de telemetría. Su objetivo es ayudar a los operadores a analizar el rendimiento y el comportamiento del software.

Para soportar transacciones de bases de datos administradas, JetBrains planea introducir un complemento que inicia una transacción al principio de la consulta y la confirma al final, siempre que no haya errores. Esto simplificará el acceso a la base de datos y permitirá recuperarse de excepciones específicas de SQL y de la aplicación. Actualmente, los servicios de Ktor requieren la administración manual de las transacciones de la base de datos. Para simplificar la inyección de dependencias, este año se agregará oficialmente soporte para este concepto al servidor de Ktor.

Un marco de inyección de dependencia

Hasta ahora, el proveedor ha sido agnóstico sobre las bibliotecas de inyección de dependencias, por lo que los usuarios pueden integrar los productos que prefieran. Pero muchos usuarios han pedido a JetBrains recomendaciones explícitas sobre cómo integrar marcos de inyección de dependencias como Koin en servicios basados ​​en Ktor. También en 2024, JetBrains planea integrar gRPC en Ktor Client y Ktor Server a través de una implementación idiomática de Kotlin. "Esto hará que la creación y el consumo de servicios gRPC sean tan familiares como HTTP y REST", dijo el proveedor.

Para facilitar a los autores de bibliotecas multiplataforma la compatibilidad con Ktor Client y Ktor Server, JetBrains también planea reemplazar los tipos de red personalizados existentes con los que ofrece la biblioteca multiplataforma Kotlinx-io, que proporciona abstracciones para orígenes y destinos de datos. Finalmente, a finales de este año, JetBrains planea lanzar una herramienta CLI para Ktor, para satisfacer la demanda de una alternativa de línea de comandos al generador de proyectos en línea o asistente en el IDE JetBrains Intellij IDEA Ultimate. Esta iniciativa permitiría a los usuarios crear y editar proyectos en la terminal o shell. Finalmente, JetBrains planea introducir un mecanismo para aceptar complementos de terceros para Ktor. Ktor tendrá un formato simplificado para crear estos complementos, una nueva versión del generador de proyectos y un procedimiento para enviar una solicitud de extensión al equipo de Ktor.