La empresa matriz de Facebook, Meta, está migrando del código Java al lenguage Kotlin para sus aplicaciones para Android, en línea con la estrategia de Google. Kotlin es un lenguaje de programación más joven y que también se basa en la máquina virtual de Java (o JVM).
Kotlin fue creado por el fabricante de herramientas de software JetBrains. Llegó al mercado en 2011 y hasta el 2016 no lanzó su versión 1.0. En 2017 fue adoptado por Google como lenguaje compatible para el desarrollo de Android y se puso bajo la gestión de su propia fundación, financiada por JetBrains y Google.
Estas han llevado a cabo iniciativas poco a poco para expandir el uso y el conocimiento de Kotlin entre desarrolladores y empresas.
-¿Qué tiene Kotlin que no tenga Java?
La justificación de Google para utilizar Kotlin es que es más conciso, más seguro, soporta la concurrencia estructurada para facilitar el código asíncrono y es interoperable con Java.
El ingeniero de software de Facebook Omer Strulovich, ha explicado que el negocio de la publicidad social, que está en proceso de convertirse en una gran empresa de Realidad Virtual en torno al metaverso, ha estado sustituyendo el código Java en varias de sus populares aplicaciones para Android en Facebook, Instagram, Messenger, Portal y Quest, por Kotlin.
Strulovich también ha tenido buenas palabras para el lenguaje de programación: «Kotlin es generalmente considerado como un lenguaje mejor que Java, con índices de favorabilidad más altos que Java en la encuesta anual de desarrolladores de Stack Overflow» y valora que si para Google es lenguaje de referencia en el desarrollo de apps para Android, «tiene sentido que cambiemos nuestro desarrollo de Android en Meta a Kotlin».
Además de que el ecosistema de Android haya adoptado Kotlin, este lenguaje de programación tiene otras ventajas que los desarrolladores aprecian y que Meta ha destacado en un comunicado oficial. Su capacidad de anulabilidad, que ayuda a evitar los errores de referencia nula al admitir tipos que no pueden tener un valor nulo; el apoyo a la programación funcional a través de funciones en línea y expresiones lambda; y el apoyo a los lenguajes específicos de dominio (DSL), entre otras cosas.
Strulovich no ha dicho cuándo empezó Meta esta transición (aunque en la conferencia d desarrolladores del pasado año ya se habló mucho de este lenguaje de programación). Tampoco se sabe qué porcentaje de su código de aplicaciones para Android se ha convertido hasta el momento.