Kotlin ya es un lenguaje oficial en Android: ¿qué implicaciones tiene y por qué es tan importante?

Kotlin ya es un lenguaje oficial en Android: ¿qué implicaciones tiene y por qué es tan importante?

21 comentarios Facebook Twitter Flipboard E-mail
Kotlin ya es un lenguaje oficial en Android: ¿qué implicaciones tiene y por qué es tan importante?

Las apuestas para la presente Google IO 2017 no se decantan especialmente por el anuncio de que Google le diera el apoyo definitivo a Kotlin en Android. Nos habíamos acostumbrado a que Google evitará cualquier declaración oficial, aunque veladamente muchos de los desarrolladores destacados de la compañía lo apoyaban fervientemente. Pero finalmente ha ocurrido, y Kotlin es un lenguaje oficial en Android al mismo nivel que Java. ¡Enhorabuena!

Esto implica la posibilidad de trabajar con un lenguaje de programación más moderno y robusto, lo que permitirá olvidar paulatinamente las limitaciones del uso obligatorio de Java 6 en Android. Ojo, pudiendo interoperar con Java y las librerías actuales sin problema. Y sin el miedo de perder el soporte en Android.

Además, Google y Jetbrains trabajarán codo a codo en el soporte de herramientas para los desarrolladores, lo primero el soporte directamente de Kotlin en Android Studio 3.0, ya está anunciado.

¿De de dónde surge Kotlin?

Kotlin se empezó a desarrollar hace casi 6 años de la mano de Jetbrain, compañía responsable de IntelliJ el IDE en el que se basa Android Studio. Su idea inicial era sustituir Java en los proyectos desarrollados por la compañía. Era fundamental basarse en la JVM para poder ser totalmente interoperable a Java y su ecosistema.

Los principios de Kotlin son:

  • Sencillo y pragmático. Debía ser un lenguaje potente a par que fácil de utilizar. La curva de aprendizaje es bastante más ligera que otros lenguajes como Scala, por ejemplo. Lo que apoya su adopción.
  • Es interoperable al 100% con Java. Cualquier código escrito en Java se puede usar directamente desde Kotlin.
  • Para que Android pudiera adoptarlo, el lenguaje debía ser ligero para poder ser ejecutado en cualquier dispositivo sin sobrepasar el peso específico de las APKs en Android.

A finales de 2015 se consiguió publicar la primera beta de la versión 1.0, aunque ya se estaba trabajando en algunos proyectos, esto certificaba que la cosa iba en serio y se podría usar en un futuro cercano en proyecto en producción. La versión definitiva llegó hace apenas un año.

Kotlin 1 1

Pero el trabajo no quedó ahí, sino que Kotlin ha ido evolucionando a la versión 1.1 que le permite ser independiente si queremos de la JVM. Pudiendo desarrollar JS a través de Kotlin JS o, incluso hacer aplicaciones para iOS con Kotlin/Native. Lo que implica que Kotlin es un lenguaje que puede ir mucho más a allá de Android.

En este tiempo, Google ha podido probar con calma el lenguaje y ha visto crecer la comunidad entorno a Kotlin lo que aseguraba un éxito seguro cuando se anunciara la noticia.

Kotlin soportado por Android, ¿pero eso qué implica?

Kotlin no tiene ningun impacto perjudicial sobre el rendimiento y respeta el tamaño adecuado de las APKs

Cualquier desarrollador que ha seguido el recorrido de Kotlin y ha intentado “vender” internamente en su empresa el uso de Kotlin se ha encontrado en la mayoría de los casos con las reticencias de sus managers. La típica excusa de que Kotlin no está soportado por Google se disipan con este anuncio dando luz verde a los proyectos en producción.

Tanto Google como Jetbrain lo han dejado bastante claro desde el principio creando una sección de dudas frecuentes sobre Kotlin.

Entre las principales aclaraciones se encuentra el impacto que tendrá en el desarrollo diario de Android y sus herramientas. Como ya hemos podido ver en algún vídeo breve ya está lista la versión canary de Android Studio 3.0 que soporta completamente Kotlin, sin necesidad de instalar ningún plugin de Kotlin adicional, como hasta ahora venía ocurriendo.

Por supuesto, se podrán crear un proyecto íntegramente en Kotlin, convertir código Java en Kotlin, debuggear Kotlin y cualquier otra cosa que se venía haciendo con Java. Además de lo recientemente anunciado de revisar el performance de las apps desde el propio IDE.

Como ya comentamos anteriormente, Kotlin es totalmente interoperable y podemos llamar a cualquier API de Android como si fuera Java. Incluso si trabajamos con C++ podemos usar JNI con Kotlin del mismo modo.

Las preocupaciones a nivel de rendimiento de las aplicaciones en Kotlin también es recurrente. Explican que Kotlin no tienen ningún impacto sobre esto, y se comporta tal cual como lo hace Java.

La típica excusa de que Kotlin no está soportado por Google se disipan con este anuncio dando luz verde a los proyectos en producción.

No hay problema en las versiones mínimas de Android que podrán soportar esta mejora con Kotlin, ya que es compatible con JDK 6, como ya decíamos antes, y podrá ejecutarse en versiones antiguas de Android sin problema.

También se ha aclarado la relación entre Google y Jetbrain que será más estrecha en este asunto, incluso la creación de una fundación sin ánimo de lucro que se encargue de apoyar Kotlin y su provechoso futuro. Tanto a nivel del lenguaje, framework o cualquier herramienta. Esperemos, de hecho, que Android en general se vea reforzado en ese sentido con la inclusión de una compañía con Jetbrain que cuida hasta el más mínimo detalle sus productos.

Curioso que el CEO de Jetbrain haya tenido que aclarar que no están pensando en ser comprados por Google. Debemos recordar que la compañía tiene ya un provechoso modelo de negocio y que sus presencia en el ecosistema de desarrolladores es amplio y quieren seguir siendo independientes. Este acuerdo sólo implica una colaboración entre Google y Jetbrain para mejorar el ecosistema de Android con Kotlin, al igual que ya venía haciendo con el IDE de desarrollo.

Cómo aprender Kotlin

Tanto si eres un novato desarrollando aplicaciones o como si ya llevas tiempo trabajando en Android puede echarle un ojo al guías de desarrollo de Kotlin. La curva de aprendizaje es bastante más liviana si ya vienes del entorno Java pero no es estrictamente necesario tener conocimientos previos.

Durante las sesiones de este viernes en la Google IO 2017 varios de los integrantes de desarrollo del lenguaje van impartir charlas sobre cómo empezar con él y cómo sacarle partido que se podrán seguir por streaming y su posterior vídeo en YouTube.

Si quieres adentrarte en el mundo de Kotlin hay actualmente dos libros recomendables. Parece ser que la sorpresa del anuncio les ha pillado desprevenido pero aún puedes obtener alguna copia de ellos: Kotlin for Android Developers de Antonio Leiva y Kotlin in Action de Dmitry Jemerov y Svetlana Isakova (Autor).

El futuro de Kotlin con el nuevo ecosistema que se prevé** de Android

Kotlin puede ser el futuro, incluso olvidando Java y la JVM con lo nuevo que está desarrollando Google. Fucshia y Andromeda son una oportunidad también para Kotlin

2017 ya empezó con mucho revuelo en torno a Kotlin. Uno de los principales puntos ya se ha conseguido: el posicionamiento claramente favorable de Google sobre Kotlin. Esto va a hacer crecer exponencialmente su penetración, ya que los desarrolladores siguen anclados en el pasado con Java 6, Kotlin representa aire fresco y el uso de la programación funcional en Android.

Aún así necesitamos más casos de éxito en Android con Kotlin, ver grandes empresas que ya lo estén usando intensamente para quitar el miedo a la pequeñas y medianas empresas dedicadas al desarrollo de Android. Recientemente vimos un excelente post de la gente de Basecamp de cómo hacer una app 100% en Kotlin, seguimos necesitamos más ejemplos.

Fuchsia

¿Qué ha pasado con FuchsiaOS y Andromeda? Ninguna mención en el Google IO. Antes del inicio de la keynote, muchos, incluso, apostaban por un anuncio más potente llevando Android a otro nivel con una renovación total basándose en un kernel que no fuera Linux. El lenguaje se dejaba en el aire, algunos hablaban de Dart pero ahora quizás Kotlin no sea ninguna idea descabellada para continuar un desarrollo nativo de Kotlin en Android, sin la JVM. Kotlin ya tiene proyectos nativos.

Quizás a medio plazo acabemos al 100% eliminando Java trabajando en el nuevo sistema operativo de Google que haga interoperable Android y Chrome. Kotlin puede ser la apuesta de continuidad llevando a los desarrolladores una adopción progresiva. Dart no acaba de cuajar.

Sin duda, nos esperan cosas bastante interesantes, los ánimos en los desarrolladores Android están muy renovados.

En Xataka Android | Google I/O 2017: todas las novedades anunciadas en Mountain View

Comentarios cerrados
Inicio