Alternativas a Java para Android

Para desarrollar aplicaciones Android es necesario hacerlo en Java, ¿seguro? Hay otras alternativas que de unos años a esta parte que están tomando fuerza.

Para mi todo empezó en el evento MaterialFest, para quien no lo sepa fue un evento para desarrolladores y diseñadores que se organizó en Cádiz en 2015 para hablar sobre Material Design.

Una de las charlas sorprendía a todos, no trataba sobre Material, sino otra forma de desarrollar aplicaciones para Android ¡sin usar Java!.

La daban los chicos de 47 Degrees, Javi Pacheco y Raúl Raja (aquí podéis ver las transparencias), nos contaron que había otro lenguaje sobre el que desarrollar, Scala, un lenguaje funcional que tenía muchas ventajas:

  • Protección frente a nulos
  • Independencia del contexto
  • Futuros (¡Nos olvidamos de las Async Class!)
  • Pattern Matching
  • Interoperabilidad con Java (si, podías tener código Java y Scala en el mismo proyecto)

Y algún que otro inconveniente:

  • Tiempo de compilación
  • El peso de las aplicaciones era mayor que el creado con Java
  • Una gran curva de aprendizaje, ya que el paradigma de programación cambia completamente

Después de algún tiempo dándole vueltas decidí empezar a probarlo, primero haciendo un curso impartido por el creador del lenguaje Martin Odersky y posteriormente empezando a picar algo de código.

Algún tiempo después publiqué mi primera aplicación realizada en Scala, MovieList:

Hace poco empecé a escuchar hablar de Kotlin, compartía muchas de las ventajas con Scala, pero se decía que tenia una menor curva de aprendizaje, era cuestión de apostar y yo empecé a hacerlo por Scala.

En esta charla se puede ver las diferencias entre uno y otro: https://www.youtube.com/watch?v=hMJm66Bm54c&t=82s

Pero en el pasado Google IO 2017 todo cambió, Google anunció que Kotlin pasaba a ser junto a Java lenguaje oficial para Android (aquí teneis un artículo que habla sobre ello)

Decidí hacer un curso impartido por Antonio Leiva, uno de los primeros desarrolladores en empezar a trabajar con Kotlin y el autor de uno de los libros de referencia recomendados por Google sobre Kotlin para Android.

Personalmente me entusiasmó la potencia de Kotlin (equiparable a la que puede darte Scala) pero a la vez la facilidad de uso y comprensión, en 10 horas de curso habíamos hecho nuestra primera aplicación sobre Kotlin.

Algunas de las cosas que más me llamaron la atención fueron:

  • Data Classes
  • Extensions
  • Integración con Android Studio

Por todo ello he decido ir migrando mi última aplicación desarrollada en Scala a Kotlin, KidsChat.

En resumen, no todo en el desarrollo de aplicaciones Android es Java, hay mundo más allá, y ahora con más motivo desde que Kotlin es lenguaje oficial.

¿Has probado a desarrollar aplicaciones Android sobre un lenguaje que no sea Java? ¿Te gustaría compartir tu experiencia?

 

Publicado en Android y etiquetado , , , , .

Ingeniero Técnico en Informática de Sistemas. Apasionado de la tecnología y enfocado al desarrollo móvil

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.