Ir al contenido principal

12 Razones para usar Kotlin en tu proximo proyecto Android.

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.
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…
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.

Comentarios

Entradas populares de este blog

Laravel 5Subir archivos con Laravel 5

En esta entrada vamos a ver cómo  subir archivos con  Laravel 5 , de paso repasaremos algunos otros temas, enrutar controladores, crear modelos y definir algunas de sus propiedades, utilizar blade y su sistema de herencia y cómo guardar el registro del archivo en base de datos comprobando el tipo de extensión. Antes de comenzar debemos recordar que para utilizar las clases HTML y FORM en  laravel 5  debemos hacer la instalación con composer, a continuación dejo una entrada donde puedes revisar un poco más en profundidad sobre este tema . Laravel 5: Las clases HTML y FORM Añadir las clases Html y Form en Laravel 5 Simplemente debemos añadir la siguiente línea al archivo composer.json, justamente en la clave require. JavaScript 1 "illuminate/html" : "5.*" Ahora para que las dependencias se instalen ejecuta el siguiente comando situado en tu proyecto. Shell 1 composer update

Comparación de diferentes clientes que pueden realizar una petición http (file-get-contents, curl, guzzle ybuzz).

Para un proyecto que vamos a comenzar dentro de la compañía, y para el cual el rendimiento es muy importante, hemos realizado una comparación entre diferentes clientes que pueden realizar una petición http. Nuestra idea original era usar guzzle, pero como digo el rendimiento es importante, por lo que antes de usarlo, decidimos realizar algunos test de rendimiento. Los requisitos que tiene que cumplir nuestro cliente son: Poder comprobar códigos de estado en las respuestas. Gestión avanzada de cabeceras ( petición y respuesta ). Poder configurar timeouts. En la medida de lo posible, que sea rápido y consuma poca memoria. Las pruebas se realizadan contra un servidor local, el código para las pruebas es este. <?php /* * This file is part of the XXX package. * * (c) Daniel González <daniel@desarrolla2.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require __DIR__.&#