Tecnología

Todo sobre Kotlin

Origen de Kotlin

Kotlin fue creado en 2010 por JetBrains, una conocida empresa que diseñó varios de los IDE más populares (IntelliJ o WebStorm). Fue creado por el programador Dmitri Jemerov, que buscaba algunas funciones que no podía encontrar en Java.

 Básicamente, Jemerov necesitaba un lenguaje moderno que se ejecutara en la JVM y se compilara tan rápido como Java. Scala estaba cerca de lo que quería, pero tardó demasiado en construirse. Entonces creó su propio lenguaje: Kotlin.  En 2012, se convirtió en un lenguaje de código abierto; pero su popularidad llegó años después, cuando Google anunció el soporte para Kotlin. Desde entonces, ha ganado cada vez más popularidad entre los desarrolladores de Android.

¿Qué es Kotlin?

Kotlin es un lenguaje de programación pragmático, gratuito, de código abierto, de propósito general y tipado estáticamente. Fue diseñado originalmente para JVM (Java Virtual Machine) y Android, combinando capacidades de programación funcional y orientada a objetos.

Este lenguaje se centra principalmente en la interoperabilidad, la seguridad, la claridad y el soporte de herramientas. También se producen versiones de Kotlin dirigidas a JavaScript ES5.1 y código nativo (LLVM) para varios procesadores.

¿Para qué sirve?

Desde 2019, Google se declara Kotlin First, lo que significa que los nuevos desarrollos se realizan para Kotlin y se implementan en Java cuando están terminados. Esto ha hecho que la industria móvil se dé cuenta de la importancia de dicho lenguaje y se centre en él. Es por eso que más del 80% de las 1000 principales aplicaciones de Android utilizan actualmente Kotlin.  Pero contrariamente a la creencia popular, no sólo se utiliza para desarrollar aplicaciones para Android, sino que ha abierto puertas en otros ámbitos a lo largo de los años de su desarrollo.

 Es cada vez más común ver backends escritos en Kotlin porque permite la creación de código expresivo y altamente legible mientras lo mantiene actualizado a medida que pasa por la JVM. Hay varios marcos disponibles para simplificar nuestro trabajo, que incluyen:

  • Spring: Quizás uno de los frameworks más populares para el desarrollo del lado del servidor y a partir de la versión 5.0 es compatible con Kotlin.
  • Ktor: También creado por JetBrains, lo que significa que su integración es perfecta. Se definen como un sistema que no añade limitaciones a la tecnología utilizada en su proyecto, asíncrono (utilizando las famosas corrutinas de Kotlin) y testable, porque nos brinda varias herramientas que simplifican el desarrollo de pruebas.
  • JavaLin: A diferencia de los anteriores destaca por su ligereza y sencillez, pero no os dejéis engañar, es utilizado por más de una gran empresa. Entre ellos Microsoft, Uber y Revolut.

¿Es mejor Kotlin o Java?

Un gran debate entre los desarrolladores: Kotlin vs Java siempre da que hablar. Veamos las similitudes y diferencias entre estos lenguajes.

 Si bien Java tiene una larga historia en el mundo del desarrollo, Kotlin gana popularidad cada día, especialmente cuando se trata de aplicaciones de Android. Aquí hay algunas diferencias entre Kotlin y Java basadas en conceptos simples:

  • En Java, demasiada redundancia conduce a un código más largo y detallado. Kotlin es más moderno y simplificado, lo que facilita el aprendizaje a los principiantes. 
  • Solucionó varios problemas en Java, como la falta de tipos sin formato, referencias nulas administradas por el sistema de tipos o fallas al verificar las excepciones. Esto lo hace muy útil para los desarrolladores de idiomas.
  • Java tiene otros problemas relacionados con su falta de soporte para bloques infinitos, extensibilidad o programación funcional. La sintaxis de Java es muy detallada, especialmente en comparación con lenguajes modernos como Kotlin.
  • Es seguro para nulos, es decir. Por defecto, los objetos no son nulos y si intentamos establecer nulo en una variable directamente, no se compilará. Sin embargo, tienen muchos errores en Java.
  • Desarrollar con este lenguaje puede reducir la cantidad de líneas de código en un 40% en comparación con Java.

¿Por qué usar Kotlin?

Es hora de entender las razones por las que se elige así hoy en día. De nuevo, según Plain Concepts, estos son algunos de los beneficios de este lenguaje.

  • Interoperabilidad con código Java: Una de las características más importantes del programa es que está diseñado para ser totalmente interoperable con la sintaxis de Java. En otras palabras, una base de código existente escrita en Java puede comunicarse correctamente con Kotlin y viceversa. 
  • Curva de aprendizaje fácil: La simplicidad de la sintaxis permite una curva de aprendizaje fluida, intuitiva y corta, ideal para quienes buscan aprender su primer lenguaje de programación. Como es de código abierto, la comunidad de Kotlin cuenta con mucho apoyo, lo cual es otra gran ventaja. Esto significa que hay mucha información sobre Kotlin, incluidas preguntas frecuentes y problemas potenciales.
  • Tiempo de programación reducido: Uno de los puntos fuertes de Kotlin es que, además de su estructura compacta y concisa, elimina la presencia de código redundante. Esto optimiza enormemente el proceso de escritura del código y evita la repetición.
  • Desarrollo de plataforma: Se puede utilizar para todo tipo de desarrollo, desde el lado del servidor y el lado del cliente web hasta Android e iOS. Debido a que el lenguaje se ejecuta en JVM, Kotlin permite compartir código entre plataformas. 
  • Flexibilidad: El lenguaje brinda a los desarrolladores la libertad de trabajar en su estilo preferido. Por tanto, es un lenguaje muy flexible con estructuras funcionales y orientadas a objetos. Todo esto significa una mejor experiencia de programación.
Autor: Laura Manuela Mosquera Giraldo

Editor: Carlos Iván Pinzón Romero

Código: UCPA-5

Universidad: Universidad Central



Fuentes

Textos
Castelán, J. (2022). ¿Qué es Kotlin? Todo lo que debes conocer. Talently Blog.
https://talently.tech/blog/que-es-kotlin/ 

Guimerá Orozco, A. (2021). Qué es Kotlin y características. OpenWebinars. 
https://openwebinars.net/blog/que-es-kotlin/ 

Keepcoding. (2023). ¿Qué es Kotlin? ¿Es mejor que Java? 
https://keepcoding.io/blog/que-es-kotlin-es-mejor-que-java/ 
Imágenes
Subham, K. (2022). 5 key features of kotlin programming for Android development.[Fotografía].Echnotification. https://www.technotification.com/2019/04/kotlin-key-features-android-development.html 

Vásquez, G. (2017). Kotlin para Android, principales características. [Fotografía]. Código OnClick. https://codigoonclick.com/kotlin-para-android/ 

Tamal Das. (2021). Kotlin vs Java: Which is best for developing Android apps. [Fotografía]. Make Use Of. https://www.makeuseof.com/kotlin-vs-java/ 

Parzibyte´s blog. (2023). Funciones en Kotlin. [Fotografía]. 
https://parzibyte.me/blog/2019/07/18/funciones-kotlin/ 

Video
DevExpert.(29 de abril de 2021). ¿Qué es Kotlin y para qué sirve [en 2022]?. . YouTube. https://www.youtube.com/watch?v=Y0tcdQ7Nfqk