Kotlin DSL ahora es el predeterminado para las nuevas compilaciones de Gradle



Escrito por james salaGerente de Producto, Kotlin y Boris FarberIngeniero de relaciones con desarrolladores

Android ha sido Kotlin primero durante cuatro años, y muchos desarrolladores de Android han hecho el cambio, lo que ha resultado en una mayor productividad y aplicaciones más estables. Sin embargo, el idioma predeterminado para definir compilaciones era Groovy (construir.gradle), aunque un Kotlin (construir.gradle.kts) ha existido en Gradle durante algunos años.

¡Hoy nos complace anunciar que cambiaremos el idioma predeterminado para compilar scripts a Kotlin! Esto significa que Kotlin es el único lenguaje predeterminado que se usa para todo el código del proyecto, incluida la interfaz de usuario con Jetpack Compose, ¡y ahora crea scripts! Hemos estado trabajando con los equipos de Gradle y JetBrains en esta mejora, y puede leer más en sus respectivos anuncios: blog de Gradle; Blog de JetBrains.

Esto no afectará a los proyectos existentes que utilizan Groovy, ya que seguirán funcionando sin un plan de desaprobación. Sin embargo, cuando crea nuevos proyectos o módulos desde Android Studio Giraffe, ahora obtiene Kotlin DSL de forma predeterminada. Las plantillas de proyecto actualizadas son una manera fácil de comenzar con los nuevos scripts de compilación de Kotlin DSL. Para obtener información sobre cómo migrar compilaciones existentes, consulte la guía de migración de Kotlin DSL.

Si bien Kotlin DSL es el estándar para nuevos proyectos, los proyectos grandes basados ​​en Groovy DSL existentes deben esperar para migrar mientras Gradle, JetBrains y Google trabajan para mejorar aún más el rendimiento de la compilación. Este trabajo está en curso y publicaremos actualizaciones a medida que avancemos. En particular, el rendimiento de compilación de secuencias de comandos es más lento que Groovy DSL. Sin embargo, a diferencia de Groovy DSL, los resultados de la compilación del script de Kotlin DSL se almacenan en las memorias caché locales y remotas de Gradle, por lo que no es necesario volver a compilar las compilaciones posteriores.

Tener un solo idioma para todo el código en un proyecto no es el único beneficio de este cambio, así que veamos otras cosas excelentes sobre el uso de Kotlin DSL para compilaciones de Gradle.

  • Kotlin se escribe estáticamente, lo que le brinda sugerencias de código rápidas y precisas al editar los scripts de compilación de Kotlin DSL:
  • Los errores de sintaxis son más precisos y aparecen al editar los scripts de compilación de Kotlin DSL en lugar de intentar sincronizar el proyecto:
  • Obtenga documentación de tipo y método presionando Ctrl+Q (Comando+B en macOS). Si necesita más detalles, puede saltar al código fuente subyacente presionando Ctrl+clic (Comando+clic):
  • Puede mezclar secuencias de comandos de compilación de Groovy DSL y secuencias de comandos de compilación de Kotlin DSL en un proyecto y migrar gradualmente módulo por módulo. Esto permite que los nuevos módulos usen Kotlin DSL mientras que los módulos existentes permanecen en Groovy.

Un cambio relacionado que también estamos realizando en las plantillas para nuevos proyectos es una opción experimental para usar catálogos de versiones de Gradle con secuencias de comandos de compilación de Kotlin DSL.

Los catálogos de versiones le brindan una forma centralizada y escalable de definir las dependencias de su proyecto. Aunque el uso de catálogos de versiones es opcional, encajan muy bien con Kotlin DSL al proporcionar más seguridad de tipo en sus definiciones de compilación.

Para obtener información sobre la migración a catálogos de versiones, consulte la guía de migración.

El nuevo cambio predeterminado de Kotlin DSL ahora está disponible en la vista previa de Android Studio Giraffe. ¡Pruébalo y cuéntanos cómo te va!



Si quieres conocer otros artículos parecidos a Kotlin DSL ahora es el predeterminado para las nuevas compilaciones de Gradle puedes visitar la categoría Android.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir