>

Kotlin: Del rumor a la realidad #AndroidMeetsKotlin

Francisco Manuel López Jurado     Noticias    09/06/2017


Kotlin: Del rumor a la realidad #AndroidMeetsKotlin

¿Qué es Kotlin?

Se trata de un nuevo lenguaje de programación estáticamente tipado que corre sobre la Máquina Virtual de Java. Un detalle a destacar es que está diseñado para interoperar con código Java aunque no tenga una sintaxis compatible con dicho lenguaje. Kotlin es conciso, seguro y pragmático. Funciona realmente bien con todas las librerías y frameworks existentes de Java y se ejecuta con el mismo nivel de rendimiento. En resumidas cuentas, es un lenguaje que trae la misma o mayor potencia que otras alternativas pero con una simplicidad que le hace resaltar y ser la opción más viable para desbancar a Java de ese trono en el que se ha llevado muchos años.

¿Podemos usarlo sin miedo a que sea una moda pasajera?

Kotlin aporta una robustez distinta a otras posibles alternativas a la programación en Java en el ecosistema de las aplicaciones móviles, quizás esta fuerza viene proporcionada por la empresa que está detrás de este lenguaje: Jetbrains. Además algo que juega en nuestro favor es que se está integrando en proyectos en producción y para productos realmente relevantes, lo que está haciendo que la comunidad crezca a una velocidad vertiginosa.

Pero no solo esto es importante sino que, pese a ser relativamente nuevo ha pasado por una larga etapa de alpha y posterior beta, en la que ya existía una comunidad que reportaban sus posibles errores e hicieron madurar a esta fuerte alternativa que tenemos entre las manos.

Kotlin y Android, una primera cita muy especial

Por si fuese poco todo lo anterior, llegamos a la Google I/O de 2017 y nos encontramos que Google dará soporte a Kotlin para el desarrollo de Android. Además ya no será necesario utilizar un plugin para integrarlo en nuestros proyectos ya que vendrá integrado su soporte en la versión 3.0 de Android Studio.

Ya podemos descargarnos dicha versión y comenzar a desarrollar o migrar nuestros primeros proyectos aunque se trate de la versión de prueba. Al comenzar un proyecto y si queremos dar soporte a Kotlin solo necesitaremos marcar el check de “Include Kotlin Support”.

Por todo ello, solo faltan explicar alguno de los conceptos básicos. ¡Manos a la obra!

Conceptos Básicos

  1. NullPointerExceptions

Nos encontramos con uno de los mayores problemas de Java, es cierto que existen herramientas que nos permiten controlar este tipo de errores (anotaciones, patrones de diseño, etc) pero al fin y al cabo nos suponen tiempo, y el tiempo es dinero. Para ello Kotlin supera estos problemas de forma muy notable; marcar un tipo como nullable simplemente se torna en añadir un solo carácter, un signo de interrogación al final. A continuación detallamos los casos posibles con una porción de código:

  1. ClassCastException

Si queremos que no aparezcan este tipo de errores debemos primero comprobar si la variable es instancia de la clase a la que queramos castear y luego castear dicho objeto para usar uno de sus métodos, propiedad, etc. En resumidas cuentas, código innecesario... En Kotlin esto no hace falta ya que si tenemos que comprobar que un objeto sea instancia de otro, posteriormente podremos usarlo sin necesidad de hacer un casting.

  1. Inmutable

Nos encontramos con otro error común entre los programadores, ¿establecemos siempre qué variables pueden cambiar y cuáles no?

En Java debemos añadir la etiqueta “final” a la variable que hemos creado, en Kotlin simplemente diferenciaremos entre “val” (no puede cambiar) y “var” (objeto mutable).

  1. Valores por defecto

Normalmente para que se establezca un valor por defecto en un parámetro que hemos pasado en un método debemos ponerlo a null, vacio, crear un nuevo método etc. En Kotlin esto ha acabado, podemos establecer valores por defecto en la definición de los métodos:

  1. Próximamente...

En los siguientes posts iremos detallando más características de este lenguaje además de construir un proyecto en Android totalmente funcional y sin la necesidad de código Java.

En resumen, tenemos un lenguaje maduro, potente, sin la necesidad de utilizar herramientas, con una curva de aprendizaje y un contínuo desarrollo y crecimiento.