Anuncio del procesamiento de símbolos de Kotlin (KSP) Alpha

Goolge lanzó, la versión Alpha del procesamiento de símbolos de Kotlin (Kotlin Symbol Processing o KSP), una herramienta completamente nueva para crear complementos de compilación ligeros en Kotlin.

KSP ofrece una funcionalidad similar a KAPT, sin embargo, es hasta 2 veces más rápido y ofrece acceso directo a las funciones del compilador Kotlin y además, se está desarrollando teniendo en cuenta la compatibilidad multiplataforma.

KSP es compatible con la versión de Kotlin 1.4.30 y posteriores; puedes consultar el código fuente y la documentación en el repositorio de KSP de GitHub.

¿Por qué KSP?

Muchos desarrolladores iteran e implementan aplicaciones docenas de veces al día, por lo que tener que sentarse a esperar una compilación lenta puede llevar mucho tiempo. Uno de los mayores desafíos al compilar el código de Kotlin es que Kotlin no tiene un sistema de procesamiento de anotaciones nativo.

Los procesadores de anotaciones Room, están omnipresentes en Android y dependen de la compatibilidad del procesamiento de anotaciones de Java, a través de la herramienta de procesamiento de anotaciones de Kotlin (KAPT).

Sin embargo, KAPT puede ser lento de ejecutar, ya que requiere generar stubs intermedios de Java que luego pueden ser ingeridos por el sistema de procesamiento de anotaciones de Java.

Al crear KSP, pensamos en como sería el procesamiento de anotaciones para Kotlin si lo construyéramos desde cero. KSP ofrece una API potente y simple para analizar el código Kotlin directamente.

De hecho, los puntos de referencia iniciales con la biblioteca Room muestran que KSP es aproximadamente 2 veces más rápido que KAPT.

Empezando

Para ver como funciona KSP en acción, puedes descargar el proyecto del patio de juegos de KSP de Github.

En él encontrarás:

  • Biblioteca: Una test-processor biblioteca de juguetes que implementa el patrón del constructor como un procesador KSP
  • Proyecto de consumo: Un workload directorio que muestra mo utilizar el procesador de construcción en un proyecto de Kotlin del mundo real

Toda la lógica para implementar el constructor está en test-processor – para el consumidor ( workload ), la única diferencia entre usar KAPT y KSP es un cambio en el archivo de construcción de dos líneas.

Agregar:

plugins {
```
id("com.google.devtools.ksp")
}
ksp(project(":test-processor"))

Suprimiendo la línea:

kapt(project(":test-processor")) 

Este es el objetivo de KSP: La mayoría de los desarrolladores de aplicaciones de Android no necesitan preocuparse por sus componentes internos. Aparte de este cambio de una línea, una biblioteca que admite KSP, se ve como un procesador de anotaciones normal, solo que es hasta 2 veces más rápido.

Dicho esto, usar KAPT y KSP en el mismo módulo probablemente ralentizará su compilación inicialmente, por lo que durante este período alpha, es mejor usar KSP y KAPT en módulos separados.

A medida que más procesadores de anotaciones adopten KSP, esperamos que la mayoría de sus módulos puedan usar KSP como un reemplazo casi inmediato de KAPT. Por ahora, puedes consultar qué procesadores de anotaciones ofrecen compatibilidad con KSP en la siguiente tabla.

Si faltase en la tabla, alguna biblioteca que admita o esté implementando soporte para KSP, no dudes en enviar una solicitud de extracción.

Si eres autor de una biblioteca, que actualmente usa el procesamiento de anotaciones, puedes encontrar más información sobre cómo hacer que tu biblioteca sea compatible con KSP dentro de las guías de inicio rápido y README.

Para los autores de bibliotecas, ahora que KSP está en modo Alpha, es un buen momento para comenzar a analizarlo de cerca y darnos su opinión sobre la API en el rastreador de problemas de KSP.

Además, se publican actualizaciones de versiones en el canal #ksp de Kotlin Slack.

Java es una marca comercial registrada de Oracle y / o sus afiliados.

Fuente: Blog de Desarrolladores de Android bajo Licencia Creative Commons 2.5.

Relacionado

21 Nuevos Cursos Gratuitos: Python, Google Cloud, CSS y Más (25 de Febrero 2021)

Como de costumbre, vamos con los cursos gratis, tenemos 3 cursos en español: Computación, Google Cloud y aplicaciones web; y 18 cursos gratuitos en inglés: Python, Flask, Ionic, PHP, Android, Github, CSS, Flexbox, Illustrator, Photoshop, Scrum y minado de Sugar. Recuerda, que puedes si quieres, puedes acceder a las Mejores Ofertas de Udemy ¡Alé, aprendamos gratis un ratico! Cursos en Español Computación ? Curso Gratuito de ¡SEGUIR LEYENDO!

4 Cosas que no sabías que podías hacer con las Acciones de GitHub

GitHub Actions es una plataforma poderosa que permite a un equipo pasar el código a la nube, todo desde la comodidad de los repositorios git. A continuación se analizan algunos ejemplos de cómo se pueden usar las acciones de GitHub para automatizar y orquestar un canal para DevOps a través de las acciones de Github. 1. Comprimir las imágenes para la web GitHub Marketplace es un ¡SEGUIR LEYENDO!

40 Cursos Gratis de Udemy: Desarrollo Web, Python (cupón finalizado)

Recién llega la primavera y vamos con una publicación más, que incluye los cursos del Lunes; hoy tenemos, 9 cursos en español (Typescript, Javascript, React, Vue, Firebase, Swift, Azure, HTML y CSS, Power Bi). Más 31 cursos en inglés: Javascript, Typescript, React, Python, R, Java, Drupal, Android y Kotlin, Básicos de Visual Studio Code, Bootstrap, Gitlab, Maya 3D, Photoshop, Marketing en Facebook e Instagram, SEO. Iniciación ¡SEGUIR LEYENDO!

Conociendo las acciones de Github: Colección de Enlaces Awesome

Las acciones de GitHub facilitan la automatización de todos tus flujos de trabajo de software. Las acciones de Github permiten construir, probar e implementar el código directamente desde GitHub. Bien si deseas construir un contenedor, implementar un servicio web o automatizar la bienvenida de un nuevo usuario en tu proyecto de código abierto, es muy posible que exista una acción automatizada para ello. La forma más ¡SEGUIR LEYENDO!

Android Studio 4.2: Nuevas mejoras para el creador de APPS de Android

Android anunció ayer, la nueva versión de Android Studio 4.2. Las áreas de enfoque de esta versión son: Una plataforma para IntelliJ mejorada. Nuevas funciones centradas en mejorar la productividad. Desde Android, han puesto a disposición de los desarrolladores un nuevo asistente para la actualización de los proyectos con anterioridad de Android Studio 4.2. Con el nuevo asistente, se facilita la migración de proyecto existentes aprovechando ¡SEGUIR LEYENDO!

Aprender a programar en Android con Google, desde principiantes hasta avanzado

El equipo de capacitación de desarrolladores de Google publicó recientemente una versión actualizada del curso Fundamentos de desarrollo para Android como una serie continua de tutoriales a través de Google Codelabs. Codelabs hizo su debut como sitio de tutoriales en Google I/O en 2015, y se ha disparado en popularidad como una de las mejores plataformas del mundo para aprender y estudiar absolutamente todo sobre Android. ¡SEGUIR LEYENDO!

Bazel: Crea y prueba software de cualquier tamaño, de forma rápida y confiable

Bazel es una herramienta de compilación y prueba de código abierto similar a Make, Maven y Gradle. Utiliza un lenguaje de compilación de alto nivel legible para humanos. Bazel admite proyectos en varios idiomas y crea salidas para múltiples plataformas. Bazel admite grandes bases de código en múltiples repositorios y un gran número de usuarios. ¿Por qué debería usar Bazel? A continuación vamos a conocer algunas ¡SEGUIR LEYENDO!