Android Studio - Java vs Kotlin
Cuando piensas en el desarrollo de Android, lo más probable es que te venga a la mente un lenguaje de programación: Java.
Si bien es cierto que la mayoría de las aplicaciones de Android están escritas en Java, cuando se trata del desarrollo de Android, Java no es su única opción.
Puede escribir aplicaciones de Android en cualquier idioma que pueda compilarse y ejecutarse en la Máquina Virtual Java (JVM), y sus usuarios finales no serán más prudentes. Y un lenguaje de programación compatible con JVM que realmente llamó la atención de la comunidad de Android es Kotlin, un lenguaje de programación de tipo estático de JetBrains.
Si has escuchado cosas buenas de Kotlin y estás interesado en probarlo, estás en el lugar correcto. En esta serie de tres partes, voy a compartir todo lo que necesita saber para comenzar a usar Kotlin para el desarrollo de Android.
En esta primera entrega, veré por qué usted, como desarrollador de Android, podría considerar hacer el cambio desde Java en primer lugar, y luego examinaré los pros y los contras de seleccionar Kotlin como su reemplazo de Java. Al final de este artículo, tendrá una sólida comprensión de lo que Kotlin tiene para ofrecer y sabrá si es adecuado para usted.
En la segunda parte, veremos cómo configurar tu instalación de Android Studio para que sea compatible con Kotlin y crear una aplicación sencilla de Android escrita completamente en Kotlin. Con estas bases en su lugar, en la tercera entrega veremos cómo potenciar su desarrollo de Android, utilizando algunas características más avanzadas del lenguaje de Kotlin.
¿Por qué debería hacer el cambio desde Java?
Si bien Java es uno de los lenguajes de programación más utilizados del mundo y es prácticamente el idioma oficial del desarrollo de Android, hay muchas razones por las que Java no siempre es la mejor opción para sus proyectos de Android.
El mayor problema es que Java no es un lenguaje moderno, y aunque Java 8 fue un gran paso adelante para la plataforma, presentando muchas características que los desarrolladores habían estado esperando (incluidas las funciones de lambda), al momento de escribir, Android solo admite un subconjunto de características de Java 8. Parece poco probable que los desarrolladores de Android obtengan todos los beneficios de Java 8 en el corto plazo, por lo que en el futuro previsible si quieres usar Java en tus proyectos de Android, entonces estás bastante atrapado con Java 7.
Java en su conjunto también tiene algunos problemas de lenguaje bastante bien documentados, incluyendo interminables bloques try-catch, falta de extensibilidad, nula inseguridad (y esa infame NullPointerException), sin mencionar la falta de soporte para funciones de programación funcional. Aunque Java está comenzando a agregar algunos elementos de programación funcional, como expresiones lambda e interfaces funcionales, en su esencia, Java sigue siendo un lenguaje de procedimiento. La sintaxis de Java también es bastante prolija, particularmente cuando se compara con muchos lenguajes de programación modernos.
Propiedad
|
Java
|
Kotlin
|
Código de aplicación de Android | No conciso | Relativamente conciso |
Manejar NullPointerException | Tienes que manejar explícita mente esta excepción todas las veces | Se puede usar Kotlin Null Safetyfeature o puede manejar lo explícita mente. |
Extender una clase con nueva funcionalidad | Es posible que deba crear una nueva clase que amplíe la clase y que la nueva funcionalidad se agregue en una nueva clase. Nueva referencia de clase debe ser utilizada en su código. Se vuelve desordenado. | Las funciones de extensión de Kotlin se pueden usar para extender la funcionalidad de una clase y usar el mismo nombre de clase en su código sin y confusión. |
Maneje tareas de alta computación sin
bloquear el hilo de UI
|
Se debe usar un hilo de fondo (como
AsyncTask). Y si varios de estos subprocesos son tareas de fondo, la
administración de varios subprocesos puede ser difícil.
|
Puede crear corutinas. Las corutinas
realizan tareas computacionales elevadas sin bloquear el hilo principal, pero
suspenden la ejecución en un cierto punto. Las coroutinas sin
apilamiento tienen menos uso de memoria.
|
Excepciones controladas
|
Es posible que necesite atrapar y
manejar estas excepciones. Sin embargo, esto puede hacer que su código sea
robusto.
|
Kotlin no ha verificado Excepción, por
lo tanto, no es necesario detectar una excepción. El
código se vuelve claro y conciso.
|
Herencia Múltiple
|
No soportado.
|
La Delegación de clase de Kotlin
podría usarse como una alternativa a la herencia múltiple.
|
Conversión de ampliación implícita
|
Java admite la conversión de
ampliación implícita, como puede asignar un valor de byte a un int, un valor
int a un doble.
|
Kotlin no es compatible con la
conversión de ampliación implícita, Atleast a partir de ahora. Es posible que
deba escribir el reparto para cualquier conversión.
|
Compatibilidad con Android Studioort
|
Un lenguaje oficialmente compatible.
|
Además, un lenguaje oficialmente
compatible, la última adición a la lista.
|
Clases de datos
|
Getters, Setters, equals (), hashCode
() y toString () tienen que escribirse explícitamente.
|
Getters, Setters, equals (), hashCode () y toString () son
implícitos. No es necesario escribirlos por separado.
|
Con estas diferencias de un vistazo, puede elegir Kotlin o Java para Android Application Development.
No hay comentarios:
Publicar un comentario