Meta cambia Java por Kotlin en sus aplicaciones Android, siguiendo a Google
Últimamente, Kotlin se ha convertido en un lenguaje muy popular para el desarrollo de aplicaciones Android.
Debido a esto, tiene sentido que pese a que la empresa matriz de Facebook, Meta, siempre ha trabajado con el lenguaje de programación Java, esté cambiando. La realidad es que Meta cambia Java por Kotlin en sus aplicaciones Android.
Durante los últimos meses la organización está realizando la migración de su código Java al lenguaje Kotlin, siguiendo la misma estrategia que ha realizado Google.
Kotlin es un lenguaje de programación más joven que Java que también se basa en la máquina virtual de Java.
¿Qué es Kotlin?
Kotlin consiste en un lenguaje de programación programática que destaca por ser de código abierto, estático y gratuito.
En sus inicios, este lenguaje fue diseñado para Java Virtual Machine (JVM) y Android, ya que combina programación funcional y está orientada a objetivos.
La empresa JetBrains fue la encargada de crear Kotlin, la cual vio la luz en 2011. Sin embargo, no fue hasta 2016 cuando se lanzó la versión 1.0. y, en 2017, Google la adoptó como lenguaje compatible para el desarrollo de Android.
¿Por qué Meta está haciendo la migración del código Java a Kotlin?
Kotlin es conocido como un lenguaje que es mejor que Java y obtiene calificaciones más altas en los rankings de desarrolladores. Aparte de su popularidad, Kotlin presenta algunas ventajas importantes como:
- Menos propenso a errores: Kotlin es un lenguaje de programación estático, lo cual favorece que se puedan detectar errores antes de lanzar las aplicaciones.
- Programación funcional: este lenguaje de programación proporciona funciones avanzadas y tiene un mayor soporte. Es posible utilizar expresiones Lambda y usar un lenguaje de programación funcional sin que esto comprometa la velocidad de ejecución. Una de las características que ha propiciado de migración de Meta es que, aunque Java 8 tiene soporte para Lambdas y está disponible para Android, tiene un coste mayor y afecta negativamente al rendimiento de dispositivos Android de gama baja.
- Código más corto: debido su diseño más moderno, se consigue que el código sea más corto. Ofrece la posibilidad de descartar tipos explícitos y, junto a su biblioteca estándar, acorta bucles repetitivos que se traduce en una reducción de hasta el 40% de líneas de código en comparación con Java. Al tener un código más corto se traduce en que es más explícito y facilita su seguimiento.
- Facilidad de aprendizaje: Muy en relación con el punto anterior, Kotlin es un lenguaje de programación muy fácil de aprender. Así que, si tienes experiencia en Java no te resultará complicado familiarizarte con Kotlin.
- Lenguaje específico de dominio DSL: las distintas características de Kotlin se unen y ofrecen la posibilidad de definir un DSL y es una forma de mover definiciones como XML de Android para que se implementen directamente en el código.
Estas son algunas de las características que respaldan la gran popularidad que tiene Kotlin. Sin embargo, también presenta algunos inconvenientes que hay que tener en cuenta y que afecta a la migración de código de Java que está realizando Meta.
Inconvenientes que presenta a Meta la adopción del lenguaje de programación Kotlin en sus aplicaciones Android:
- Adoptar otro lenguaje puede significar que se tenga que trabajar con códigos base con dos lenguajes durante mucho tiempo. Pese a que Kotlin interactúa muy bien hay veces que pueden surgir errores imprevistos.
- Pese a que Kotlin es un lenguaje muy popular, no llega a los niveles de Java. Este último es el segundo lenguaje de programación más usado en el mundo, lo que se traduce en que hay menos herramientas disponibles y es más difícil su implementación.
Kotlin vs Java
El lenguaje de programación Kotlin ha sido diseñado para superar a Java sin dejar de ser interoperable con su código para poder facilitar la migración. A la hora de elegir entre un lenguaje u otro hay que tener en cuenta algunos puntos principales:
- Curva de aprendizaje: la curva de aprendizaje y la revisión del código es sencilla. Sus desarrolladores se han centrado en ofrecer una sintaxis fácil para que la programación pueda ser revisada, aunque no se esté familiarizado con el lenguaje.
- Evolución constante: la filosofía que ha dado pie al desarrollo de este nuevo lenguaje de programación ha sido la de mejorar la existente en vez de partir desde 0. Este es el motivo principal que lleva a los desarrolladores a estar familiarizados con el lenguaje, pero valoran que es mucho más preciso y compacto.
- Según Google es el lenguaje oficial para Android: Google anunció que Kotlin sería su lenguaje oficial en Android, equiparándolo a Java y C++.
- Elimina las referencias nulas: la mayor ventaja que presenta la programación Kotlin sobre Java es que elimina las referencias nulas. Las únicas causas que provocan que se pueda lanzar NullPinterExcepcion es que haya alguna inconsistencia de datos con respecto a la inicialización.
- Eliminación de código repetitivo: debido a que Kotlin elimina código repetitivo repercute en que también se eliminan los posibles errores.
Cómo está adoptando Meta el lenguaje de programación Kotlin en sus aplicaciones Android
Pese a que la interoperabilidad de Java y Kotlin permite una conversión sencilla, los desarrolladores de Meta se están encontrando con algunas dificultades a las que tiene que hacer frente. Entre esos inconvenientes se encuentran desde correcciones de estilo para conseguir que el código sea más limpio hasta cambios en el comportamiento durante el tiempo de ejecución.
Meta, al iniciar esta migración tenía dos opciones:
- Escribir el nuevo código de Meta utilizando Kotlin, pero dejando la mayoría del código existente en Java. Esto supondría menos tiempo, pero se podrían dar casos de interoperabilidad entre un código y otro y podría provocar fallos.
- Intentar convertir casi todo el código interno en Kotlin. En este caso, la migración se haría un proceso largo, agotador e ineficiente.
Así que, después de valorar los pros y los contras, se decidió convertir todo el código a Kotlin. Debido a que el repositorio Android de Meta es muy grande y abarca toda la familia de aplicaciones y tecnologías como: Facebook, Instagram o Messenger, el cambio de código Java que se está utilizando para el desarrollo Android a Kotlin no es una tarea sencilla y llevará un largo tiempo que podría afectar negativamente a la experiencia de los desarrolladores.
No te pierdas nada de lo que ocurra en la actualidad referente a formaciones, cursos y empleo.
Visita el blog de Frogames para mantenerte actualizado de todas las noticias y novedades.
Y por supuesto, no te pierdas nada de lo que ocurre en el portal de formaciones de Frogames.