¡Hemos llegado al final! Parecía imposible, pero finalmente he conseguido acabar los 30 artículos a tiempo.

Todos los demás artículos eran muy prácticos, pero hoy te quería hablar sobre por qué creo que es muy interesante aprender Kotlin cuando está aún en sus primeras fases, y su futuro puede ser incierto visto desde fuera.

Este artículo forma parte de un total de 30 (¡el último!) con motivo del lanzamiento del curso presencial Kotlin para Desarrolladores Android, que voy a impartir en breve, y al que puedes apuntarte hoy mismo.

kotlin-desarrolladores-android

Aquí tienes mis razones por las que creo que, lejos de ser una apuesta arriesgada, es una de las mejores cosas que puedes hacer.

1. El lenguaje y el entorno están maduros

A diferencia de otros lenguajes como Swift, el lanzamiento de Kotlin ha pasado por muchas etapas de maduración antes de liberar la versión 1.0 final.

Esto quiere decir que no vas a encontrarte problemas al trabajar con Kotlin, todo funciona como cabría esperar.

El plugin del IDE funciona perfectamente, y ya permite muchas de las funcionalidades que existen para Java. Por ello, trabajar con Kotlin es un maravilla en ese sentido.

Es interesante saber que antes de salir a producción, el lenguaje pasó varios años en alpha y luego en beta, y que ya antes de que saliera la beta había gente que lo estaba utilizando en proyectos reales.

2. Facilita mucho el desarrollo en Android

Si has estado leyendo todos estos artículos, lo habrás visto claro en muchas ocasiones.

Kotlin es simplicidad mezclada con potencia, por lo que tienes un mundo abierto de posibilidades si venías de Java que antes ni podías imaginar.

Sinceramente creo que es la única alternativa viable a Java para desarrollar grandes aplicaciones en Android. Otras alternativas como Scala son tremendamente pesadas, y los tiempos de compilación y las herramientas no son comparables.

La compilación en Kotlin a día de hoy ya es equiparable a la de Java (en algunos tests se ha demostrado que incluso superior), y la librería necesaria para usarlo es muy pequeña, por lo que no genera problemas con el límite de métodos en Android.

3. Está perfectamente integrado con Android Studio

Puede parecer una tontería, pero el que todo funcione tan bien desde el minuto cero para Android es una ventaja potencial.

Ya lo habrás visto si lo has probado, pero sin saber nada de Kotlin puedes tener un proyecto montado y listo para trabajar en menos de 10 minutos sin ningún problema.

Y a partir de ahí todo funciona igual que si estuvieras trabajando con Java: puedes ejecutar desde el IDE, depurar sin problema, hacer refactors, utilizar instant run… Todo lo que imagines sigue ahí y se sigue pudiendo usar.

4. Su evolución está bien cubierta

IntelliJ es la empresa detrás de Kotlin, y ella misma lo usa para sus propios productos, así que están más que interesados en seguir desarrollándolo.

Además, hablando específicamente de Android, son conscientes de que es su mayor mercado, y están muy centrados en que todo funcione perfectamente en esta plataforma.

Desde funcionalidades como las Kotlin Android Extensions, hasta librerías como Anko, pasando por las constantes optimizaciones de tamaño y de tiempos de compilación, todo demuestra que están convencidos de que Kotlin es el futuro de Android.

5. Si eres desarrollador Android, necesitas reciclarte

Seamos sinceros: trabajar con Java 6 nos vuelve programadores obsoletos.

Yo no me di mucha cuenta hasta que no empecé a aprender Kotlin. Pero una vez utilizas un lenguaje moderno, tu mente empieza a pensar de otra manera.

Y esto consigue plasmarse en tu código incluso aunque no cambies de lenguaje. Yo ahora en Java resuelvo las cosas de forma diferente, sólo porque he aprendido conceptos que no conocía gracias a estudiar un lenguaje que los soporta.

Además te vuelves mucho más versátil. Tras esto, he observado (he incluso utilizado) algunos lenguajes como Swift, Groovy, Ruby… y me ha sido mucho más fácil la transición porque todos ellos usan ideas muy parecidas.

Conceptos como las lambdas, las funciones de extensión, operaciones funcionales sobre colecciones, sealed classes, data classes… con un nombre u otro, te los vas a acabar encontrando en casi todos los lenguajes. Así que sólo necesitas mapear la conversión de un lenguaje a otro en tu cabeza, y podrás moverte con facilidad.

Aunque adores Android, el estar más preparado para dar el salto a otro lenguaje u otra plataforma te da un plus enorme como desarrollador.

6. Es mucho más seguro que Java

No te puedes imaginar lo harto que estoy de los NullPointerException en Java. Realmente cada vez que veo uno me cabrea, porque es un problema importante en el diseño del propio lenguaje.

No niego que hoy en día tenemos herramientas como las anotaciones, o algunos patrones de diseño, que nos pueden ayudar a evitar gran parte. Pero, como siempre, la cantidad de trabajo extra necesaria es un problema en tiempo y dinero.

Pero no solo podemos hablar de los nulos. Toda la cantidad de código que nos ahorramos en Kotlin revierte en:

  • Menos errores: si hay menos código, es más difícil que ese código falle, y por tanto se vuelve más estable.
  • Cuando el compilador te ayuda a detectar esos errores en tiempo de compilación, nunca llegan a producirse en tiempo de ejecución (obvio).
  • El código es más fácil de entender cuando lo lee otra persona y, nuevamente, es más difícil que se introduzcan errores.
  • Queda más claro lo que hace el código (y no cómo lo hace), porque nos evitamos toda serie de estructuras disuasorias que sólo sirven para vencer las carencias del lenguaje.

En definitiva, todo esto convierte a más trabajo realizado en menos tiempo, más estable, y con menos necesidad de dedicar tiempo a errores.

7. Hay empresas muy conocidas que ya lo usan en producción

Por ejemplo, en Pinterest ya lo están utilizando en las nuevas features de su aplicación de Android. Puedes escuchar a Christina Lee hablando de su experiencia al empezar a usarlo en Pinterest.

Por otro lado, tienes a Basecamp, donde el 70% del código de su App Android ya está escrito en Kotlin. Dan Kim lo contaba en su Twitter:

También tienes su experiencia en varios artículos: artículo 1 y artículo 2.

En cuanto a compañías españolas, tenemos por ejemplo a BQ, que han realizado algunas Apps en Android relacionadas con robótica, impresiones 3D, el Internet de las Cosas…

En definitiva, en la web de Kotlin puedes ver una lista creciente de compañías que ya lo está usando sin problemas en producción.

8. Las compañías empiezan a considerarlo un extra interesante

No es solo que haya compañías que ya lo usen, sino que otras se empiezan a interesar mucho por ello. Durante el tiempo de preparación del curso presencial, me he encontrado con algunas de ellas.

Hay varias empresas que han inscrito a sus empleados en el curso, y otras cuantas interesadas en que lo imparta en sus oficinas.

Las empresas está empezando a invertir dinero en formar a sus empleados en Kotlin, y eso sólo puede ser una buena señal.

9. Cuando su adopción aumente, serás el primero

Ser el primero en algo siempre es una ventaja competitiva. Cuando Kotlin se convierta en el lenguaje que todas las empresas quieran usar para sus desarrollos en Android, serás el primero en estar en la brecha.

Yo estoy convencido de que llegará el momento en que eso ocurra, y tener ya un buen rodaje en el lenguaje hará que tu posicionamento en el sector sea mucho mayor que el de alguien que no lo conoce.

10. Los micronichos son muy rentables

Incluso aunque Kotlin no llegue a adoptarse en la mayoría de las compañías, ya hay algunas que lo están utilizando. Y si esas compañías crecen, van a necesitar expertos en Kotlin.

Hay personas que dominan lenguajes súper extraños y que casi no se utilizan, pero que están ganando mucho dinero en Estados Unidos porque son de los pocos expertos en el lenguaje que hay en el mundo.

11. Es muy sencillo de aprender

Una de las grandes ventajas de Kotlin es que un desarrollador Java puede entender la mayor parte del código sin haber escrito nunca una línea de Kotlin.

Esto es porque la gente de Jetbrains se preocupó mucho de que la transición desde Java fuera sencilla, con un lenguaje que se asemeja mucho a lo que ya conoces.

Y en muy pocas, gracias a la sencillez del lenguaje y a lo que el compilador te ayuda, puedes manejar lo básico del lenguaje sin ningún problema.

A partir de ahí, la única parte más compleja es entender los conceptos de los que carece Java, más que la sintaxis de Kotlin en sí.

No creo que nadie necesite más de dos semanas para sentirse cómodo escribiendo código en Kotlin.

12. Es muy divertido de usar

Ya para terminar, y aunque esto es muy subjetivo, para mí Kotlin es muy divertido de usar.

Java me aburre cada día más, con sus limitaciones, su boilerplate, errores debidos a sus problemas de diseño…

Sin embargo Kotlin te abre un nuevo mundo de posibilidades para ser creativo, para resolver problemas de forma muy distinta a como lo habías hecho hasta ahora.

Yo me he visto horas y horas delante del ordenador buscando formas de simplificar tareas diarias en el desarrollo de Android, y disfrutando muchísimo en el proceso.

Conclusión

Poco más tengo que decir. Creo que es un lenguaje muy amigable para iniciarse con él, muy divertido, que abre mucho la mente y, sobre todo, que está listo para ser usado en producción.

Si todo esto te ha convencido, te animo a que te pongas a cacharrear con el lenguaje. Y si realmente quieres meterte a fondo en ello, que te apuntes al curso Kotlin para Desarrolladores Android presencial que voy a impartir en breve. ¡Nos vemos!