12 razones por las que usar Kotlin para Android desde hoy (KDA 30)

Incluso ahora que Kotlin es un lenguaje soportado oficialmente para escribir Apps en Android (y desde 2019, Android es Kotlin First), puede que aún consideres que no hay suficientes razones para cambiarse. Java ha demostrado funcionar durante todos estos ¿así que por qué deberíamos cambiar?
Aquí tienes mis razones por las que creo que, lejos de ser una apuesta arriesgada, moverse a Kotlin es una de las mejores cosas que puedes hacer.
Y si quieres empezar hoy, te recomiendo que le eches un ojo a mi training gratuito.
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, ahora con el soporte de Google tenemos a dos grandes compañias trabajando jutnas para traer lo mejor del lenguaje y las herramientas a nuestro entorno de desarrollo.
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 JetBrains está poniendo muchísimo esfuerzo en mejorar la experiencia de desarrollo en 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. La gran mayoría de las grandes empresas usan Kotlin
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 100% del código de su App Android ya está escrito en Kotlin.
O Trello, quienes ya tienen código de Kotlin en producción también:
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… Pero no solo ellos, compañias como Telefónica, Schibsted, Accenture y muchas otras ya escriben todo su nuevo código en Kotlin.
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. Es ya un requisito indispensable en las ofertas de trabajo
La inmensa mayoría de empresas ya están desarrollando Apps de Android. Durante el tiempo de preparación del curso presencial, me he encontrado con algunas de ellas.
Hay cientos de 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.
En el training online gratuito te cuento por ejemplo cómo está siendo el crecimiento del lenguaje y de las ofertas de empleo relacionadas con el mismo. Vas a flipar literalmente.
9. Kotlin es multi-plataforma
Sí, no estás aprendiendo Kotlin solo para escribir Apps en Android. Kotlin fue creado inicialmente con la JVM en mente, así que se puede utilizar en cualquier dispositivo que ejecute la JVM.
Pero en Kotlin 1.1, Kotlin JS (que era experimental hasta el momento) fue finalmente lanzado, así que desde entonces puedes también hacer desarrollo de front-end utilizando Kotlin.
Pero esto no acaba aquí, porque gracias al soporte con Gradle, podrás escribir tus archivos Gradle en Kotlin, y gracias a Kotlin/Native, el futuro está abierto para básicamente cualquier plataforma.
10. Te convierte en mejor profesional
Si eres desarrollador/a Android y aún usas Java, te estás quedando atrás en cuanto a habilidades.
Kotlin es un lenguaje moderno que incluye todas las características que se podrían esperar hoy en día. Muchas de esas características no están disponibles en Java 8, y eso está haciendo que dejes de aprender conceptos que la mayoría de desarrolladores dominan.
Conceptos como async/await, lambdas, funciones de primer orden, operaciones funcionales sobre colecciones, data classes, sealed clases, funciones de extensión, tipos nulables… la lista es grande.
¿Qué te parecería dar vario saltos hacia adelante en tus habilidades como desarrollador?
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
Kotlin 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.
¡Y además ahora es un lenguaje oficial para el desarrollo Android!
Si quieres empezar hoy, te recomiendo que le eches un vistazo a mi training gratuito, donde tendrás casi dos horas de contenido para saber cuáles son tus siguientes pasos a dar para convertirte en un experto en Kotlin.
Cómo conseguir la localización amplia en Android
Cómo pedir permisos en Jetpack Compose