Meta, la empresa matriz de Facebook,
se encuentra en estos momentos procesando la transición del código Java que alimenta su aplicación para Android al lenguaje de Kotlin[, un lenguaje de programación más reciente y que se ejecuta sobre Java Virtual Machine (JVM).
JetBrains, un fabricante de herramientas de software, presentó Kotlin en 2011. Con el tiempo, Google lo reconoció oficialmente como un lenguaje de primera clase (compatible) para el desarrollo de Android.
Ahora, Kotlin se encuentra bajo la administración de su fundación y patrocinado por JetBrains y Google.
Antes de esto, Java era el lenguaje elegido para desarrollar aplicaciones de Android.
En la conferencia de desarrolladores de mayo de 2019, Google sugirió por primera vez que los programadores de Android usarán Kotlin en lugar de Java.
La concisión, la seguridad, el soporte para la concurrencia organizada de Kotlin, lo que simplifica la escritura de código asíncrono y la interoperabilidad con Java son factores relevantes en la decisión de Google de adoptarlo.
El desarrollador de software de Facebook, Omer Strulovich, reveló que Meta, comenzó a reemplazar todo el código Java en muchas de sus populares aplicaciones de Android (Facebook, Instagram, Messenger, Portal y Quest) por Kotlin.
A la vez que Kotlin se ha convertido en un lenguaje más popular para la programación de Android, tiene sentido el trasladar el desarrollo de Android de Meta a Kotlin, como afirma Strulovich.
Si bien Strulovich admite que Java es el lenguaje de programación más utilizado, Kotlin se encuentre entre los tres primeros y ha ganado mucha tracción en el entorno de Android. Además, el uso de Kotlin agrega tiene algunos beneficios extra.
Como el soporte para programación funcional a través de funciones en línea y expresiones lambda; código más corto y claro y lenguajes específicos de dominio (DSL), que son lenguajes informáticos con un enfoque limitado y que se utilizan para un solo trabajo.
Al igual que con cualquier cambio importante, el cambio no ha estado exento de consecuencias. Debido a que Kotlin existe desde hace menos tiempo que Java, tiene un conjunto de herramientas menos establecido, lo que dificulta el mantenimiento de bases de código mixtas.
¿Qué hace que Java siga siendo popular entre los desarrolladores?
El optimizador de código de bytes de Android Redex de Facebook requiere de un parche. El resaltador de sintaxis Pygments también.
Además, ciertas bibliotecas internas que optimizaban el código de bytes en el momento de la compilación se estropearon cuando se cambiaron a Kotlin y fue necesario actualizarlas.
La necesidad de herramientas adicionales, requirió el desarrollo de cosas como el formateador Kotlin: Ktfmt.
Strulovich no reveló cuándo Meta comenzó este movimiento o qué proporción del código de su aplicación de Android se ha cambiado hasta la fecha; sin embargo, los ingenieros de la firma destacaron la adopción de Kotlin a gran escala en la conferencia del año pasado.
Después de convertir 10 millones de líneas de código a Kotlin, Meta ha visto resultados positivos. El código de Kotlin es más corto que el de Java, aunque quizás no tanto como se pensaba en un inicio.
La mayoría del código que se traduce son declaraciones de interfaz de usuario, que son las mismas bien estén escritas en Java o Kotlin, lo que contribuye a una reducción del código poco impresionante.
Como también señaló Strulovich, las aplicaciones transformadas han mantenido la velocidad de ejecución.
A pesar de que los tiempos de compilación sean más lentos para las aplicaciones mejoradas con Kotlin, la ganancia en el rendimiento final parece merecer la pena.
Según Strulovich, la migración de Meta sigue avanzando y cada vez más. Mientras tanto, la cuota de mercado de Java ha caído un 4,7% en los últimos cinco años.