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

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

Android fue el primer Kotlin 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 ha sido Groovy (build.gradle), aunque ha existido una opción de Kotlin (build.gradle.kts) en Gradle durante varios años.

¡Hoy nos complace anunciar que estamos cambiando el idioma predeterminado para compilar scripts en 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 de estafa. Esfera de mochila propulsora¡y ahora crea guiones! Hemos estado trabajando con los equipos de Gradle y JetBrains en esta mejora, y puede leer más en sus anuncios relacionados: Blog Gradle; Blog de JetBrains.

Esto no afecta a los proyectos existentes que usan Groovy, ya que seguirán funcionando sin planes de obsolescencia. Pero si está creando nuevos proyectos o módulos a partir de 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 DSL de Kotlin. Para migrar compilaciones existentes, verifique el archivo Guía de migración de Kotlin DSL.

Si bien Kotlin DSL es el valor predeterminado para los nuevos proyectos, los grandes proyectos existentes basados ​​en Groovy DSL deben esperar la migración mientras Gradle, JetBrains y Google trabajan para mejorar aún más el rendimiento de la compilación. Este trabajo está en curso y compartiremos 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 compilación del script de Kotlin DSL se almacenan en las memorias caché locales y remotas de Gradle para que las compilaciones posteriores no requieran una recompilación.

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 geniales sobre el uso de Kotlin DSL para compilaciones de Gradle.

  • Kotlin se escribe estáticamente para que obtenga 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 al 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 ir al código fuente a continuación presionando Ctrl+clic (Comando+clic):
  • Puede combinar secuencias de comandos de compilación de Groovy DSL y secuencias de comandos de compilación de Kotlin DSL en un proyecto y migrar de forma incremental módulo por módulo. Esto permite que los nuevos módulos usen Kotlin DSL mientras mantienen los módulos existentes en Groovy.

Un cambio asociado que también estamos haciendo en las plantillas de Nuevo proyecto es una opción experimental para usar Catálogos de versiones de Gradle con secuencias de comandos de compilación Kotlin DSL.

Los catálogos de versiones le brindan una forma centralizada y escalable de definir las dependencias de su proyecto. Si bien el uso de catálogos de versiones es opcional, se combinan bien con Kotlin DSL al proporcionar una mayor seguridad de tipo en las definiciones de compilación.

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

La nueva modificación por defecto de Kotlin DSL ya está disponible en Vistas previas de Android Studio Giraffe. por favor intente y Háganos saber cómo va!


Compruebe también

El arsenal de Android: la cámara

Ser permitido cámara casera Seleccione Foto Enviar resultado Instalar Soporta API 21 y posteriores Paso …

Deja una respuesta

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