Tabla de contenido:
- Entonces, ¿qué es Kotlin?
- ¿Qué hace que Kotlin sea mejor?
- ¿Se está eliminando Java?
- ¿Las aplicaciones serán mejores o se verán diferentes?
- ¿Dónde puedo obtener más información sobre Kotlin o comenzar a usarlo?
Google anunció soporte para Kotlin en Android en Google I / O 2017. Reforzó la importancia de Kotlin para el desarrollo de aplicaciones nuevamente en 2018, pero muchos de nosotros no estamos seguros de qué está pasando o por qué debería importarnos. Claro, sabemos que es algo para los desarrolladores de aplicaciones y les encanta, pero ¿por qué lo aman? ¿Qué es exactamente?
Para empezar, debe comprender que Kotlin es solo una parte de lo que Google está haciendo para que el desarrollo de aplicaciones de Android sea "mejor". Digo mejor aquí porque estas herramientas hacen más que hacerlo más fácil o más rápido, permiten a los desarrolladores hacer más y desarrollar mejores aplicaciones. Las aplicaciones que funcionan "mejor" se ven "mejor" y manejan los recursos "mejor". Volver a Kotlin: puede ser solo una parte del kit de herramientas para desarrolladores de Google, pero es la parte más importante porque hace más que cualquier otra característica nueva para hacer que las aplicaciones y su desarrollo sean "mejores".
Yo amo este video. Sé que muchos de nosotros no entenderemos mucho (y no lo entiendo todo yo mismo, no me avergüenzo aquí), pero se nota que los presentadores, Chet Haase y Romain Guy, están realmente emocionados de mostrar las herramientas. y los desarrolladores en la audiencia están tan emocionados de escuchar sobre ellos. También vemos cómo Google se ha duplicado no solo en admitir Kotlin, sino en integrarlo con extensiones que harán que la construcción de aplicaciones "mejores" sea incluso "mejor".
Entonces, ¿qué es Kotlin?
Kotlin es un lenguaje de programación y desarrollo de JetBrains, que es la compañía detrás del IntelliJ Java IDE (un conjunto de herramientas y aplicaciones para desarrolladores que funciona en conjunto como lo hace Microsoft Office) en el que se basa Android Studio. Pero Kotlin no es un lenguaje de programación en sí mismo; Es una nueva forma de escribir código que utiliza Java para ejecutarse.
Java es algo de lo que probablemente hayas oído hablar. Es un lenguaje de programación que puede crear aplicaciones que se ejecutan en casi cualquier sistema operativo en cualquier hardware. Es potente, lo que significa que puede usar Java para escribir programas que hacen muchas cosas diferentes, como juegos o utilidades o control de hardware o cualquier otra cosa. También es el lenguaje de programación en el que casi todas las aplicaciones de Android están escritas, así como partes de Android en sí, como la aplicación de inicio o la aplicación de marcado del teléfono.
Kotlin puede crear aplicaciones que se ejecutan en Java con muchos menos dolores de cabeza.
Java también es muy engorroso de codificar. Debido a que es tan poderoso y es multiplataforma (el dispositivo que está usando para leer esto probablemente tenga un marco de aplicación Java y tiempo de ejecución instalado) es complicado. Java es un lenguaje de programación de paradigmas múltiples que admite programación orientada a objetos. Escribe código usando objetos (una variable o una función o casi cualquier tipo de conjunto de datos), y usa clases para definir el tipo y los datos iniciales dentro de un objeto. Ah, y tenía que asegurarse de incluir las bibliotecas correctas que permitieran a las clases definir un objeto. ¿Ves lo que quiero decir cuando digo complicado? E incluso estoy dejando de lado una gran cantidad de información sobre cómo funciona la programación orientada a objetos y simplemente dando una visión general básica.
Kotlin se lleva muchas de esas cosas engorrosas. Todavía necesita que Java esté instalado en un dispositivo que ejecute aplicaciones escritas en Kotlin porque crea una aplicación que se ejecuta como si se escribiera en Java "normal". ¡Pero es mucho más fácil escribir aplicaciones usándolo! Kotlin es un lenguaje de programación que los desarrolladores de Android pueden usar para crear aplicaciones que son geniales mientras pasan menos tiempo descubriendo las partes difíciles y depurando las versiones de prueba. Obtiene excelentes aplicaciones, y los desarrolladores tienen más facilidad para escribirlas.
¿Qué hace que Kotlin sea mejor?
Los desarrolladores con los que he hablado adoran muchas cosas sobre Kotlin, pero hay tres cosas que trae que todos parecen mencionar.
-
Kotlin utiliza una inferencia de tipo agresiva. Eso significa que puede determinar qué tipo de datos está utilizando una función en función del resto del código y cómo se está utilizando. Esto significa que los desarrolladores no tienen que perder tiempo declarando el tipo de expresiones y valores en su código a menos que estén haciendo algo realmente fuera de la caja. Eso ahorra mucho tiempo porque declarar un tipo de datos puede ser tedioso y el código tiene que ser perfecto.
-
Kotlin permite a los desarrolladores definir objetos y funciones estáticos sin necesidad de utilizar una clase redundante. Un desarrollador puede definir los objetos y sus funciones en un solo lugar, por lo que es mucho más fácil de leer y comprender, lo que facilita la depuración. Y no tienen que incluir código que no debería ser necesario porque duplica lo que acaban de escribir. Java fuerza esto porque así es como funciona su sintaxis. Kotlin es más relajado y le gusta escribir código en C, y en este caso, es más fácil y tiene más sentido.
-
La sintaxis de Kotlin no es absurdamente compleja. La sintaxis de Java es. Es por eso que lleva años ser un desarrollador experto de Java: debe incluir cosas como punto y coma, llaves y corchetes en lugares exactos para que el compilador (la herramienta que convierte el código en una aplicación) sepa qué hacer. La sintaxis de Kotlin utiliza las mejores ideas de los lenguajes de programación que existían antes y escribir código es más simple. Esto también significa que leer y comprender el código es más fácil y la depuración lleva menos tiempo.
Las tres cosas, sobre todo, tienen una cosa en común, y es por eso que los desarrolladores aman tanto a Kotlin: el código es más amigable. Escribir el código es más rápido, más indulgente y simplemente más fácil de lo que es en Java, y leer el código que usted u otra persona ha escrito tiene más sentido. Todavía parece un código, pero no todo el código es igualmente complejo. Al final, aún obtienes una aplicación que puede hacer casi cualquier cosa con la que un desarrollador pueda soñar, pero hacerlo implica menos dolores de cabeza.
¿Se está eliminando Java?
No! En todo caso, Java se está fortaleciendo y mejorando con las versiones más recientes de Android y Android Studio.
Escuché a Kotlin definido como "Java light". Esa es una forma buena y mala de describirlo, pero transmite el mensaje: Kotlin es casi lo mismo que Java, usa la máquina Java en su dispositivo para ejecutar una aplicación terminada, pero tiene menos factor de frustración. Kotlin necesita que Java esté instalado en su teléfono o computadora o lo que sea que el futuro de los dispositivos traiga para funcionar. Es totalmente interoperable e incluso puede usar Kotlin y Java al mismo tiempo en una aplicación.
Kotlin también permite que los desarrolladores de plataformas (piensen en las personas que "hacen" Android) agreguen herramientas de soporte para facilitar aún más la escritura de código. Lo vimos en Google I / O 2018 cuando se agregaron extensiones para Kotlin, que actúan como un acceso directo para escribir todo el código necesario para algo que un desarrollador deberá hacer una y otra vez.
En lugar de "Java Light", Kotlin se describe mejor como "Java ++" porque es una evolución natural del lenguaje y puede hacer las mismas cosas con menos frustración.
¿Las aplicaciones serán mejores o se verán diferentes?
Tal vez, pero debido a los efectos secundarios del uso de Kotlin y no a las características del lenguaje en sí.
El lenguaje de programación tiene muy poco que ver con el aspecto de una aplicación o cómo funciona. Es simplemente cómo un desarrollador le dice a su teléfono que haga algo y luego le muestra el resultado de alguna manera. Si un desarrollador puede pasar menos tiempo escribiendo el código complicado que hace que su teléfono haga eso y le cuente sobre eso, tendrá más tiempo para agregar mejores funciones o crear un mejor diseño.
El desarrollo de cualquier aplicación implica varios pasos importantes. Escribir el código no es más importante que crear un excelente diseño e interfaz de usuario o asegurarse de que la aplicación haga algo que la gente quiera que haga. Sin embargo, escribir el código puede llevar más tiempo, y liberar ese tiempo permite que las otras fases mejoren. Kotlin libera una parte del tiempo de desarrollo.
¿Dónde puedo obtener más información sobre Kotlin o comenzar a usarlo?
Visite el sitio web Kotlin de JetBrains para obtener todo lo que necesita para comenzar. A partir de ahí, puede obtener los conceptos básicos y una descripción general de Kotlin en un nivel más técnico. Para el desarrollo de Android, visite estas páginas:
- Kotlin en las páginas de desarrolladores de Android
- Extensiones de Android Kotlin
- Kotlin Style Guide
- Guía de interoperabilidad de Kotlin
Puede usar Android Studio, Eclipse, IntelliJ IDEA o un compilador independiente para crear aplicaciones Kotlin para Android o su navegador web. ¡Incluso hay excelentes tutoriales para que apuntes en la dirección correcta!
No es dificil. Hay una curva de aprendizaje si nunca has hecho ningún tipo de desarrollo, pero es divertido. ¡No tengas miedo de intentar aprender todo lo que puedas!
Actualización, 11 de mayo de 2018: este artículo se reescribió por completo para reflejar los cambios realizados en Kotlin desde que se agregó a Android en 2017.