Insights
Article

No puedo evitar enamorarse... de Kotlin

Josh Parmenter
/
Digital Eng. Mgmt. Associate Director, Mobile Engineering
<Read time>
/
Sep 25, 2024

¿Te has preguntado qué es Kotlin y cómo ha cambiado el espacio de desarrollo para móviles y otras plataformas? En Launch, adoptamos Kotlin al principio de su ciclo de vida y estamos rastreando las nuevas capacidades que introduce el lenguaje.

Todos sacudieron

Las conversaciones en torno a los lenguajes de programación normalmente solo tienen lugar entre los geeks más geeks. Sin embargo, cuando se trabaja en nuevas máquinas, plataformas o sistemas tecnológicos, incluso las personas que no tienen que hacer ninguna programación a menudo escucharán hablar de la promesa de un lenguaje nuevo o actualizado para escribir código de computadora.

En los últimos meses, hemos tenido algunos clientes que nos preguntan sobre Kotlin y nuestra experiencia con él. Quienes preguntan al respecto han escuchado hablar de él como un nuevo lenguaje de programación. El objetivo de este artículo es dar a los no-codificadores una idea sobre qué es Kotlin, qué lo hace destacar como lenguaje de programación moderno, y cómo Launch lo ha utilizado durante años para escribir código seguro y de rendimiento para nuestros proyectos Android. Más que eso, también hablaremos de lo que vemos como las posibilidades para el lenguaje a medida que sigue evolucionando.

Mentes sospechosas

Kotlin, desconocido como nombre para un lenguaje de programación, llevaría a mucha gente a pensar que es un lenguaje más nuevo. No obstante, Google anunció soporte de primera clase para él como lenguaje de programación para el sistema operativo Android en 2017, y su desarrollo se remonta mucho más atrás. JetBrains lanzó su primera versión del lenguaje en 2011 como lenguaje para entornos Android y Java Virtual Machine. Ofrecía interoperabilidad con proyectos Java e, incluso antes de que Google elevara su estatus para Android, JetBrains estaba apoyando a Kotlin al principio de su vida útil. En 2015, Launch comenzó a explorarlo como una alternativa a Java para el desarrollo de Android.

Junto con Swift de Apple, Kotlin elevó el listón al proporcionar un lenguaje que fue elaborado desde el principio con el objetivo de ayudar a los desarrolladores a evitar los errores más comunes en la programación. El lenguaje hace que la administración de la memoria y la seguridad de los datos sean una preocupación primordial, alentando patrones que aseguran que los datos estén disponibles para su uso cuando el programador espera que estén listos. Java, como lenguaje de programación de alto nivel que provenía de la familia de lenguajes C, heredó los patrones básicos de C para tratar con la administración de memoria que requería que el programador solicitara, luego verificar, si la memoria podía ser asignada para su uso por el programa. Java requiere que el programador decida entonces, cuándo no se pudo asignar memoria, qué hacer cuando se producen estas situaciones. Además, el programador tuvo que verificar y asegurarse de que la memoria no haya sido liberada por otra parte del programa. Si no se realizan estas comprobaciones, la aplicación se bloqueará cuando surja un problema. La comprobación de estas situaciones requiere una gran cantidad de código repetido que con demasiada frecuencia era una idea tardía para los desarrolladores. Kotlin, Swift y otros lenguajes de programación modernos han tratado de encontrar formas elegantes de advertir y evitar problemas como este. Sin embargo, hasta que Android lo adoptó como idioma oficial, era difícil para cualquiera que escribiera código a nivel de producción sentirse cómodo enviando un proyecto con él.

Tomado desde la perspectiva de un desarrollador de Android, Kotlin ha sido un lenguaje que es increíblemente más seguro de usar. Los informes de fallas en las aplicaciones implementadas han disminuido significativamente cuando se siguen las prácticas de codificación segura. Y a medida que Android (como plataforma) se expande hacia espacios más amplios, también significa que los desarrolladores que usan Kotlin en Android pueden trabajar en proyectos en otras plataformas que soporta Android (como Android Automotive). Dado que Android se basa en Linux, y los entornos Java son comunes en todas las plataformas informáticas, esto también significa que Kotlin también se puede utilizar en esas áreas (sistemas embebidos como Raspberry PI, por ejemplo).

Trátame bien

Otro gran beneficio para Kotlin como lenguaje de programación móvil proviene de la similitud de Swift con él. Si bien Swift fue introducido por Apple como un lenguaje listo para usar en 2014, las similitudes con Kotlin y la línea de tiempo de su desarrollo hacen que las similitudes entre los lenguajes se sientan intencionales. Las características de seguridad entre ambos, y la mayor parte de la sintaxis del lenguaje, son simplemente demasiado cercanas para ser una coincidencia. Si bien Swift pudo haber tenido una luz más brillante mostrada en él cuando se reveló, Kotlin estaba en el mundo primero y sería un error pensar que Kotlin estaba copiando a Swift. Más que probable, Swift estaba viendo cómo Kotlin resolvía varios problemas relacionados con escribir código seguro y expresivo, y el equipo de Apple incorporó lo que vieron.

En Launch, hemos estado usando Kotlin para todos los nuevos desarrollos de Android durante años. Debido a la similitud de Kotlin con Swift, hemos sido capaces de construir el enfoque de nuestro equipo móvil para desarrollar aplicaciones aprovechando estas similitudes. La mayor parte de nuestro equipo móvil trabaja cómodamente en ambas plataformas, y en muchos casos, un problema que se haya resuelto en una plataforma informará —si no ser 90% similar— a la solución en otra. Hemos aprovechado esto creando una arquitectura unificada para nuestro desarrollo móvil que nos permita aprender mejor unos de otros a través de los sistemas operativos móviles. Además, en pocas palabras, es un lenguaje agradable de usar. Nos permite escribir código más claro y conciso y podemos utilizar las mejores partes de la programación orientada a objetos así como enfoques funcionales para operar sobre datos.

El desarrollo y la expansión de la plataforma de Kotlin no se ha detenido y hay varias tecnologías en las que JetBrains está trabajando para ampliar aún más su adopción. Kotlin ahora puede compilar con el compilador LLVM, lo que permite interacciones nativas con dispositivos iOS, así como la capacidad de ejecutarse como un entorno basado en la web. En las próximas semanas, se publicarán más artículos que hablan de cómo en Launch hemos aprovechado no solo las similitudes entre Kotlin y Swift para nuestro equipo móvil, sino que estamos explorando avances con Kotlin para consolidar aún más los esfuerzos de codificación en nuestros proyectos de desarrollo.

¿Interesado en aprender cómo puedes integrar Kotlin en tus proyectos? Contáctanos ¡y te pondremos en contacto con nuestro equipo de expertos!

No items found.
0:00
0:00
Show insight details
Episode hosts and guests
No items found.
Written by 
Josh Parmenter
Digital Eng. Mgmt. Associate Director, Mobile Engineering

Episode transcript
Sources
No items found.
Hablemos.

Transform insights into action and ideas into outcomes.