Autentia

Blog

Integramos Kotlin en nuestros desarrollos

En Autentia nos apasiona el desarrollo de software y, por tanto, investigar nuevas herramientas, metodologías y lenguajes. Es una labor que nos permite evolucionar y encontrar formas más efectivas de resolver nuestro trabajo y, en esta búsqueda, una de las últimas novedades que hemos encontrado es Kotlin, un nuevo lenguaje de programación que nos ha encantado.

Adopción

Sabemos que no hay que dejarse llevar por el hype y que la adopción por algo nuevo debe ser justificada. Por eso, para poder evaluar los posibles contras del lenguaje, la inserción de Kotlin en Autentia es progresiva. En nuestro caso, hemos comenzado usándolo en aplicaciones Android nativas.

¿Por qué en Android? La comunidad de desarrolladores Android, donde Java era el lenguaje oficial, lleva tiempo abrazando Kotlin. Fue de las pioneras precisamente por la falta de funcionalidad de Java en este ecosistema: había llegado Java 8 hace tiempo pero para Android no se podían utilizar todas sus características. Kotlin las tenía —y muchas más que Java 8 no tiene— y podía ser usado para crear aplicaciones Android, por lo que muchos desarrolladores lo habían adoptado, aunque con dudas sobre el futuro del mismo. En el Google I/O de 2017, la empresa californiana anunció que Kotlin sería lenguaje oficial de Android. Este anuncio disipó toda duda.

android-kotlin

Kotlin se suele asociar a Android porque la gente ha oído hablar de este anuncio pero, ¡ni mucho menos está limitado a este ecosistema! Si precisamente se pueden crear aplicaciones Android con él es porque genera bytecode compatible con Java. ¿Qué quiere decir esto? Que en todo proyecto en el que se pueda usar Java se puede usar Kotlin. Es posible emplear ambos lenguajes a la vez, en el mismo proyecto y, lo mejor, es que se pueden hacer llamadas de uno a otro. Esta interoperabilidad es uno de los puntos fuertes de Kotlin que hace que su adopción sea comodísima y que nos aporte la gran ventaja de no tener que reescribir nuestro código Java existente, por lo que no vamos a perder tiempo por querer continuar desarrollando con Kotlin los proyectos que ya tenemos.

En todo proyecto en el que se pueda usar Java se puede usar Kotlin.

No solamente la interoperabilidad facilita la adopción de este lenguaje, pues las herramientas que ya utilizaban los desarrolladores están adaptadas: sistemas de construcción como Gradle o Maven pueden usarse con Kotlin, los IDE más famosos como IntelliJ y Eclipse también… De hecho, los creadores de IntelliJ son los mismos que los de Kotlin —la empresa JetBrains—, así que podéis imaginar la gran integración que hay entre lenguaje e IDE.

Ventajas

Hasta este punto hemos visto que la adopción de Kotlin es muy cómoda pero, ¿qué ventajas tiene? De cara al programador, muchísimas: clases de datos, destructuración, funciones de orden superior, funciones de extensión, utilidades para colecciones, casts inteligentes, etc. Además, este lenguaje es conciso y elegante, lo que facilita la legibilidad. Estas ventajas llevan a que la productividad de los desarrolladores aumente, además de su motivación, pues el aprendizaje es sencillo y gratificante y se encontrarán más a gusto realizando su trabajo con un lenguaje que se lo facilitará. Y todo esto se traduce en una producción de software más rápida.

Pero no solamente repercute indirectamente a través de la producción del desarrollador. Kotlin tiene otra característica que hace que nuestro software sea más robusto: la seguridad frente a nulos. El lenguaje está pensado para evitar las conocidas excepciones por puntero a nulo durante la ejecución de un programa. Con esto, ya no sucederían gran parte de los errores que podría sufrir nuestra aplicación durante su uso, y es que sabemos la mala imagen que una aplicación da cuando falla y la frustración que provoca en los usuarios, por lo que consideramos esta característica como otro de los puntos fuertes de Kotlin.

Kotlin no es solo sinónimo de escribir nuestro software con menos líneas, sino también de hacer aplicaciones más seguras y mejores.

Madurez

Ante una tecnología relativamente nueva, es conveniente hacerse ciertas preguntas: ¿es lo suficientemente estable para usarla en producción?, ¿tiene una comunidad que la apoye?, ¿qué empresas la usan?

A la primera pregunta podemos empezar respondiendo con que JetBrains estuvo seis años desarrollando Kotlin hasta que sacó la primera versión estable a principios de 2016. Obviamente, este dato por sí solo no tiene por qué implicar estabilidad, pero sí que denota un esfuerzo por parte de la empresa por conseguirlo.

Tras más de dos años, son muchos los desarrolladores que han trabajado con Kotlin y que han dado feedback para que JetBrains siga mejorando y puliendo el lenguaje. Además, la comunidad continuamente comparte posts en plataformas como Medium alabando y divulgando el lenguaje. Pero no solamente desde desarrolladores particulares recibimos el entusiasmo por este lenguaje: el conocido y enormemente útil framework de backend Spring ya acepta el uso de Kotlin. Y toda esta bienvenida al lenguaje se puede ver también en la encuesta de 2018 de StackOverflow, en la que Kotlin aparece como el segundo lenguaje más amado.

En cuanto a empresas que tengan en producción software escrito en Kotlin, tenemos varios ejemplos entre las grandes: Google —con su pareja Android-Kotlin—, Amazon, la propia JetBrains, Netflix, Pinterest, Plex, Trello, Evernote, Foursquare, New Relic o Tuenti.

Conclusiones

Añadir Kotlin al stack tecnológico de nuestra empresa es una buena idea. Como hemos visto, ganamos en estos grandes aspectos: aplicaciones más seguras y mejores, desarrolladores más motivados y producción de software más rápida.

Gran cantidad de empresas y frameworks abrazan ya Kotlin, las herramientas empleadas por los desarrolladores están adaptadas y hay software en producción desde hace meses generado con este lenguaje.

Eso sí, cada empresa tiene su contexto y lo mejor es introducir Kotlin progresivamente para probarlo e ir viendo la respuesta de los equipos de desarrollo. Seguro que les enamora.

Conoce nuestro curso

VER CURSO
Por Javier Sánchez 06 Jun 2018