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

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.

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

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.

Quizá también te interese…

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 ya está aquí, y como siempre trae una serie de novedades que te van a interesar muchísimo. Cabe destacar que a partir de ahora, de acuerdo las nuevas versiones de Kotlin se lanzarán cada 6 meses, independientemente de las nuevas funcionalidades que...

¿Qué es Kotlin y para qué sirve?

¿Qué es Kotlin y para qué sirve?

Kotlin es un lenguaje de programación de código abierto creado por JetBrains que se ha popularizado gracias a que se puede utilizar para programar aplicaciones Android. Pero si has llegado hasta aquí pensando que Kotlin solo se puede usar en Android, lo que te voy a...

2 formas de recolectar Flows en la UI que SÍ funcionan

2 formas de recolectar Flows en la UI que SÍ funcionan

En la serie de artículos sobre Programación Reactiva con Flow hemos visto muchos conceptos, y hemos aprendido cómo aplicarlos al desarrollo Android. Pero hay algo que no hemos hecho del todo bien. Esto es la recolección de Flows desde la Activity (o el Fragment, en...

17 Comentarios

  1. Alberto Hernández

    Buen colofón al reto de los 30 días, ¡enhorabuena! Es un lenguaje muy interesante, y si alguien no ha tocado programación funcional nunca desde luego que abre los ojos.

    Responder
    • Antonio Leiva

      Muchas gracias Alberto! Me alegro de que te haya gustado 🙂

      Responder
  2. Loquencion

    Realmente interesado, la verdad es que yo me dedico mas al desarrollo con tecnología .NET, pero un día decidí romper el hielo que fue hace menos de 1 mes y medio, inicie en android pero escuche sobre kotlin y la verdad es que si me esta interesando mucho por no decir demasiado.
    Sobre el post muy bueno, muy convincente.
    Saludos.

    Responder
    • Antonio Leiva

      Gracias! Viniendo de .NET, Java es un paso atrás (te lo digo por experiencia ?), así que seguro que Kotlin consigue solucionar esa frustración. Si sabes C# además, hay muchas cosas de Kotlin que ya te resultarán familiares.

      Responder
      • Loquencio

        Asumo que si, la verdad es que me eh interesado mucho por este tema “Kotlin”, una consulta por ejemplo en kotlin, se pueden hacer uso de las librerías que se pueden usar con total normalidad actualmente en android. (dagger, retrofit, vollery, zxing, etc).
        ¿A que se refiere usted con que “Java es una paso atrás”?, no lo logro entender con claridad.
        Saludos.

        Responder
        • Antonio Leiva

          Sí, se pueden usar todas las librerías, tengo un par de artículos en este blog usando Dagger y Retrofit.

          Me refería a que si vienes de usar .NET y C#, hay muchas cosas que ofrece ese lenguaje que Java 7 (el que usamos en Android) no tiene.

          Responder
          • Aldair

            Si bueno, todo esto esta realmente interesante para aprenderlo de pies a cabeza. 🙂

  3. Leiva

    No es lo mismo un apasionado de kotlin que una persona que sabe desarrollar en python, java, c++, la diferencia es que el apasionado hablara maravillas de kotlin, lo primero es que null pointer exception es error del programador no es error de seguridad, si no sabes programar en java tendras miles de esos errores, para eso hay que implementar try y catch e implementar los metodos getMessage() y/o los otros metodos del exception, al final tu aplicacion no lanza null pointer exception porque resulta que cambiaste el codigo o sea lo implementaste de manera correcta y por eso ya no da ese mensaje, ademas java 6 no es la version mas reciente , es java 8 no se puede comparar kotlin con java 6, y a mi me gusta mucho java no por eso te he dicho todo esto porque aunque me guste mucho java python es mucho mas rapido que java y kotlin, y mas facil de entender Ruby, y como saber si kotlin es mas seguro si depende de java, no se pueden hablar maravillas todavia, solo es una promesa interesante

    Responder
    • Antonio Leiva

      Lo del tema de NullPointerException es muy discutible. Está claro que hay formas de defenderse de ello, como las anotaciones, o usando algunos patrones que nos permiten no tener que preocuparnos todo el tiempo. Pero aún así, ocurren errores inevitables, y más trabajando con un framework como el de Android. El propio creador de null lo considera un error.

      Tampoco es cierto que haya que comparar con Java 8. En Android solo podemos usar Java 6, con algunas funcionalidades de Java 7, y con AS 3.0 alguna más de Java 8 (que por cierto, hay que tener cuidado con esto). Las ventajas sobre Java son innegables. Luego comparas con Python o Ruby, que están fuera de toda discusión en el desarrollo Android.

      Responder
    • Glenn

      Aunque ya es 2019 o 2020 en unos meses, muchas cosas han mejorado y cambiado en todo este tiempo. Yo tengo muchísima más experiencia en Java que en cualquier otro lenguaje. Lamentablemente creo que la debilidad de Java es su antigüedad. Ahora hay lenguajes más jóvenes que integran además de la programación orientada a objetos, otros paradigmas como lo es la programación funcional, el uso de streams, react, etc. Java se ha vuelto a mi parecer como un abuelo en un Porsche, intenta por todos los medios mantenerse vigente pero no termina de convencer, es muy verboso, y ni qué decir del null, un horror de diseño más que un error. Lo cierto es que aunque es responsabilidad del programador no caer en fallos, si Java no diera la posibilidad de caer, el programador simplemente no caería.

      Ya tengo algo de experiencia en Kotlin y con cada cosa que voy descubriendo de este lenguaje me convenzo más de lo tiezo que es Java por más que lo sigan actualizando. Obviamente Kotlin me parece una maravilla, no digo que sea perfecto porque no lo es, pero la programación se hace muchísimo mas amena.

      Responder
  4. Alvaro

    Hola, una pregunta, yo puedo empezar en Kotlin sin saber Java?

    Responder
  5. Alberto

    Yo llevo 5 años desarrollando en Android con Java.
    ¿Qué material (sitios web, libros, videos) me recomendarías para comenzar con Kotlin?

    Responder
    • Antonio Leiva

      Pues yo solo puedo hablar de mi libro 😂. Tengo libro y curso, en función del formato que prefieras:
      -https://devexperto.com/kotlin-android-developers-libro/
      -https://devexperto.com/curso-kotlin-online/

      Responder

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

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

Acepto la política de privacidad *