¿Debo aprender Java o Kotlin para desarrollar aplicaciones de Android?

Si eres nuevo en ambos idiomas, comienza con Kotlin porque ahora es el idioma oficial para el desarrollo de Android.

POR QUÉ Kotlin?

Kotlin es un lenguaje poderoso desarrollado principalmente por el equipo JetBrains. Se ejecuta en JVM (Java Virtual Machine) y es un lenguaje de programación estáticamente tipado (los lenguajes estáticamente tipados requieren que declare los tipos de datos de sus variables antes de usarlos) y también se puede compilar en el código fuente de JavaScript o usar el nivel virtual bajo Infraestructura del compilador de la máquina. Es perfecto para el desarrollo de Android debido a la compatibilidad con Java, el rendimiento (utiliza byteCode Structure), la interoperabilidad (importación de bibliotecas de Java).

Si conoce Java y lo hará, le tomará alrededor de un día o dos comprender la sintaxis de KOTLIN. También puede practicar en línea y puede convertir su código Java a Kotlin usando Try Kotlin. También tengo un blog llamado FreebiesLearning: el aprendizaje es gratuito puede visitar este sitio web y he subido el código con video y Github Project Link.

Respuesta corta: aprende ambos.

Respuesta larga: recuerde que está aprendiendo Desarrollo de Android y no Java o Kotlin.

Desde el punto de vista del aprendizaje, comenzar con Java es una gran idea porque encontrará la mayoría de los recursos de aprendizaje relacionados con Android con Java, mientras que los recursos de Kotlin se dirigen a los desarrolladores de Java con un nivel intermedio de experiencia.

Dicho esto, no te demores en subirte al carro de Kotlin. Una vez que esté familiarizado con Android en general en lugar de solo con Java, comenzar a usar Kotlin será pan comido.

Si bien Kotlin es posiblemente mejor, es una opción más inteligente para un principiante ir con Java y cambiar a Kotlin una vez que se sienta cómodo. Después de todo, Java es uno de los lenguajes más utilizados y nunca será inútil conocerlo. Todo lo mejor.

Una vez que esté cómodo, comience aquí: Kotlin y Android

No hay duda de que Java disfrutó de una posición superior en lo que respecta al lenguaje de programación y fue considerada como una de las herramientas más importantes para el desarrollo de aplicaciones de Android.

Sin embargo, con el paso del tiempo, los desarrolladores de Android obtuvieron otras opciones como el lenguaje de programación. Algunos de estos incluyen C #, Lua, C / C ++, JavaScript, Scala y Clojure, etc.

Poco después de este anuncio crucial, hubo un estímulo y los expertos comenzaron a debatir sobre qué es mejor Java o Kotlin. Una de las ventajas que Kotlin también ofrece es que se puede cumplir y ejecutar con éxito en Java Virtual Machine (JVM). Para ser franco y honesto, estamos aquí para presenciar por qué Kotlin se destaca sobre Java al centrarse en sus pros y sus contras.

1. Kotlin se puede aprender fácilmente en comparación con Java

2. Obtiene soporte completo de Android Studio

3. Kotlin ofrece el mejor enfoque para la programación

4. Kotlin proporciona códigos precisos y confiables

5. Control de la consistencia de los datos

6. La ventaja de las funciones de orden superior

7. Kotlin supera a Java en clases de datos

8. Analicemos algunas otras áreas

¿Dónde no logra impresionar Kotlin?

Para obtener más detalles, lea este artículo: ¿Cuál debe optar por el desarrollo de aplicaciones de Android? Kotlin o Java

Sea fácil con Kotlin, cree tantos como Class en .kt, pero si tiene problemas, también cree alguna clase en .java

No hay problema si su aplicación tiene ambas clases, según google o como .kt y .java después de la compilación convertida en código de bytes para JVM, porque la Modulación de aplicaciones de Android solo puede leer el código de bytes.

Google, señaló en una nota clave posterior que esto es solo un lenguaje adicional, no un reemplazo para su soporte existente de Java y C ++.

El objetivo de Kotlin es ser una mejora para Java.

Además, Kotlin ya se está ejecutando antes de ese anuncio con la ayuda de un complemento adicional y hay una opción para convertir Java Code a Kotlin. Si tienes problemas con el contenido de kotlin disponible para Android, pruébalo.

Le recomiendo que use ambos para ser un desarrollador versátil, incluso si quiero que la gente también pruebe C / C ++ Language para realizar algunas tareas, esto ayuda a la aplicación de Android en orientación de valores y velocidad.

Buena suerte.

Razones para usar Kotlin:

1) Kotlin requiere menos código para escribir.

Al menos un 20% menos. Como se mencionó anteriormente, Java de 22 años ya está un poco desactualizado + Oracle creó Java para ser un lenguaje compatible con versiones anteriores, lo que básicamente significa que cada versión recién lanzada debe admitir las características incluidas en la anterior, y como Como resultado, con cada actualización se hace más difícil incluir algunas características nuevas; en consecuencia, la cantidad de código para escribir también aumenta. Por el contrario, la arquitectura de Kotlin fue creada desde cero, causando la ausencia de una arquitectura capa a capa.

2) Se producen menos aplastamientos en Kotlin.

Kotlin JVM tiene muchos menos problemas, ya que a menudo se le llama “error de mil millones de dólares”: el problema de NullPointerExeption se puede prevenir allí. NullPointer todavía está presente en todos los lenguajes de programación, pero las formas de trabajar con él pueden ser diferentes. Para el registro, en Java debe verificar manualmente si el enlace es nulo o no. Si se pierde un nulo, ¡boom, crash, voila! A favor de Kotlin, cada objeto se configura automáticamente como Nulo en este idioma + hay controles automáticos para el NullPointer, para garantizar que el código funcione correctamente sin él.

3) Kotlin es un lenguaje de seguridad de tipo.

De nuevo, en Kotlin cada clase es una función, y viceversa; Además de esto, al igual que Swift para iOS, Kotlin para Android tiene tipos opcionales, que ayudan con todos los controles de seguridad.

4) Kotlin te ahorra parte de tu precioso tiempo.

Como ya se dijo, menos código casi garantiza menos errores y, respectivamente, se rastrea menos tiempo en todo el proceso de codificación. Y a menudo los equipos de desarrollo de software calculan los costos totales del proyecto de acuerdo con la cantidad de horas que los desarrolladores dedican a la codificación.

Si eres nuevo tanto en JAVA como en Kotlin, entonces debes optar por Kotlin, ya que la versión más reciente 1.1 también proporciona soporte para JS que permitirá muchas más funcionalidades.

Para aquellos que ya están trabajando en JAVA, pueden cambiar lentamente a Kotlin porque es solo una versión avanzada de JAVA, por lo que no será tan difícil de aprender.

En este momento, la comunidad puede no ser tan poderosa, pero con Google anunciando que es un idioma oficial para Android, muchas más personas se unirán a la comunidad y definitivamente se volverá mucho más fuerte en los próximos años.

Le daré la respuesta habitual del gerente de producto a un ‘le gustaría esta o aquella’ pregunta ‘sí’. En otras palabras, debes aprender ambos.

Seré honesto, realmente no me gusta Java. Es un lenguaje torpe, pesado, pesado y pedante que se construyó sobre algunas ideas que han caído en desgracia desde entonces, como la orientación a objetos como el único paradigma de programación que necesitas, y deberías vender a tu abuela por un poco más de tiempo de compilación. . Java 8 mejora las cosas, pero aún tiene muchos problemas.

Kotlin parece ser una mejora significativa, fundamentalmente el mismo enfoque que Java, pero tomando en cuenta 20 años de lecciones aprendidas al escribir software en Java en el mundo real, un poco como me imagino que se vería Java 10 si Oracle abandonara un compromiso de mantener la compatibilidad con versiones anteriores. Como tal, aprendería Kotlin como su idioma de elección para nuevos proyectos de Android, debería mejorar significativamente su productividad allí.

Sin embargo, vas a tener que aprender Java, simplemente no hay forma de escapar de él. Android ha existido por más de 10 años, y en ese tiempo, la gran mayoría del código escrito para él está en Java (el resto es C ++ usando el NDK). Esto significa:

  • Cualquier proyecto existente que deba mantener se escribirá en Java. No los va a convertir a Kotlin porque no será una inversión de tiempo que valga la pena si funcionan bien en Java, e incluso si los transfiere, debe comprender el código Java que ‘ reportando!
  • Casi todas las bibliotecas de código abierto de terceros que use se escribirán en Java, si las retira de GitHub, está extrayendo la fuente de Java, si ingresa en el depurador, ingresará al código Java.
  • La capa JVM del sistema operativo Android todavía se escribirá en Java, por lo que si entras en eso, estarás avanzando a través de Java
  • Toda la documentación, ejemplos de código, tutoriales, respuestas de desbordamiento de pila, etc., escritas hasta este momento que se relacionan con Android y API creadas para Android se escribirán en Java.

Además, si es un desarrollador profesional, lo más probable es que desarrolle en plataformas que no sean Android, y Java está en todas partes, por lo que es probable que en algún momento se le solicite que trabaje con código Java que no sea Android. Java es tan omnipresente que paga para que cualquier desarrollador esté familiarizado con él.

Realmente recomendaría aprender ambos, pero si estás empeñado en aprender solo uno, tiene que ser Java. Para el desarrollo de Android, conocer Kotlin es aconsejable, conocer Java es esencial.

La buena noticia es que, debido a que Kotlin es más una progresión de Java, en lugar de una desviación radical, no están a un millón de millas de distancia en lo que respecta a los fundamentos, por lo que un desarrollador experimentado de Java tomará Kotlin bastante rápidamente y viceversa, aprender ambos ciertamente no tomará el doble de tiempo que aprender uno.

La principal curva de aprendizaje con Android no es el lenguaje de programación de todos modos, es aprender las API, cómo funciona la pila de la interfaz de usuario, cómo el sistema operativo administra su aplicación y sus recursos, etc., y todos son el mismo lenguaje con el que se desarrolle.

Me enfocaré en la palabra “futuro” que usaste.

Con eso en mente, al menos debería poder leer y comprender el código Java . Eso es lo que leerás todo el día como desarrollador de Android en este momento y mucho tiempo en el futuro.

Sin embargo, para un nuevo desarrollo y para ampliar las aplicaciones existentes, recomendaría escribir un nuevo código en Kotlin para aumentar la capacidad de mantenimiento y la legibilidad del código. Puede que no haya tantos trabajos para este momento, pero espero que aumenten notablemente en el futuro cercano ya que las compañías de desarrollo de aplicaciones buscarán atraer desarrolladores con el conocimiento de Kotlin.

Además, conocer Kotlin en este momento también lo hará más valioso para los trabajos que existen, ya que hay muy pocos desarrolladores de Kotlin en comparación con Java.

Así que trata de encontrar un equilibrio entre los dos. Aprender los conceptos básicos de uno de ellos cuando ya conoces al otro no debería tomar demasiado tiempo.

Desde mi punto de vista, Java debería ser optado por las siguientes razones:

Existen los mejores recursos disponibles en Java.

Java tiene una documentación fácil y es muy fácil de aprender.

Pasar de Java a Kotlin no es tan difícil.

Una referencia muy importante que puede ser de ayuda para aprender Java o Kotlin es Websquare.co.

Tienen una amplia gama de características a un costo muy accesible, como diseño web, desarrollo web, desarrollo de software, desarrollo de aplicaciones, IOT, etc. Para obtener más información, visite: Diseño y desarrollo web | Marketing digital | Aplicación móvil y desarrollo de juegos Company Noida , India-Websquare.co

De su pregunta, quisiera señalar que: Kotlin es 100% interoperable con Java ™ y Android ™. Mira un código de Kotlin:

suma divertida (a: Int, b: Int): Int {

devolver a + b

}

Muy similar a Java. ¿Derecho?

Lo nuevo en Kotlin 1.1:

  • Corutinas
  • Otras características del lenguaje
  • Biblioteca estándar
  • Backend JVM
  • JavaScript backend

Creo que, como Android Studio no tardó mucho en adoptarse sobre la forma tradicional de Eclipse, Kotlin pronto se adaptará a todo el mundo. Sería divertido comenzar a aprender.

Fuente: https://kotlinlang.org/

Si está comenzando con Android, definitivamente vaya con Java, ya que podrá encontrar mucha más información sobre el desarrollo de Android en Java, que será extremadamente importante en la fase de inicio.

Más tarde, puede cambiar a Kotlin o quedarse con Java según su preferencia.

Kotlin es solo otro idioma para JVM (Java Virtual Machine) y conocer Java lo ayudará a comprender Kotlin más rápido ya que hay mucha información disponible en forma de comparación entre Kotlin y Java.

A medida que se convierta en experto en ambos idiomas, puede encontrar una solución en Kotlin o Java y podrá transformarla fácilmente en el idioma que realmente está utilizando.

Y no te preocupes por Google reemplazando Java. Kotlin es solo un lenguaje y necesita Java VM para funcionar y el corazón de Android es Java VM de facto, por lo que Kotlin no es un nuevo lenguaje para Android: es solo otra opción de cómo escribir código que luego se compilará en código de bytes Java, entonces Java y Kotlin coexistirán juntos. Para Kotlin, este tipo de coexistencia es extremadamente importante porque el ecosistema de Java es maduro, estable y proporciona muchas más bibliotecas que las disponibles para cualquier otro idioma. Y esto le da a Kotlin una gran ventaja sobre los nuevos lenguajes de programación escritos desde cero.

Entonces, la pregunta es Java vs. Kotlin Para el desarrollo de Android , debe aprender tanto Java como Kotlin . Pero, antes de llegar a la conclusión, necesitamos saber por qué.

Kotlin tiene muchas características y herramientas que Java carece. Pero para aprender Kotlin necesitas aprender Java. Como Kotlin se ha derivado de Java. Algunos de ustedes pensarán que “No, no es necesario aprender Java para aprender Kotlin”, pero cuando use Kotlin para desarrollar aplicaciones en el estudio de Android, tendrá que usar las bibliotecas de Java y, en última instancia, tendrá que usar el conocimiento de Java para escribir el código en kotlin.

Hay muchas ventajas de usar Kotlin sobre Java :

  1. Kotlin es más conciso que Java . Kotlin aquí obtiene más puntos en comparación con Java . Si bien, al escribir código Java tenemos que escribir muchas placas de caldera (la placa de caldera es una parte del código que debe incluirse, significa que es necesario escribir ese código. Por ejemplo: public static void main (String [] args ) {} ) código que consume espacio y tiempo . Por lo tanto, Kotlin ayuda al desarrollador aquí. Kotlin no requiere un código de placa de caldera que lo convierte en un lenguaje de programación claro , expresivo , potente y conciso . ¡A continuación se muestra un ejemplo del programa “Hola Mundo” !

Arriba hay un ejemplo de Kotlin y código Java . A medida que Kotlin se ve más conciso y claro.

2. Ahora, muchos de ustedes deben estar pensando que Python también es una alternativa si no queremos escribir código repetitivo. Nos gusta usar Java porque se ejecuta en JVM ( Java Virtual Machine ) que produce el código de bytes. Pero, mi punto es que JVM hace que la plataforma de lenguaje sea independiente . Del mismo modo, Kotlin también se ejecuta en JVM y es independiente de la plataforma.

3. Kotlin tendría más características de seguridad que Java en el futuro, por lo tanto, Kotlin es un mejor lenguaje de programación .

4. Kotlin es interoperable con los lenguajes de programación y tiempos de ejecución de Android existentes, lo que significa que puede llamar al lenguaje Java desde Kotlin y al lenguaje Kotlin desde Java.

5. Por último, pero no menos importante. Android Studio se basa en IntelliJ IDEA y fue creado por Jet Brains y la misma compañía creó el lenguaje de programación Kotlin para que sea fácil para los desarrolladores crear funciones y herramientas .

Por lo tanto, en mi opinión, Kotlin es el idioma más preferido a medida que cambia el tiempo, también lo hace la tecnología . Kotlin es un mejor lenguaje de programación para el desarrollo de Android . Entonces, si conoces Java, entonces puedes aprender Kotlin fácilmente.

¡Feliz de ayudar!

-Editar-

Gracias Ritwik M por las sugerencias en las respuestas. Y a todos los que votaron mi respuesta.

Yo diría Java.

¿Por qué?

  • Si realiza una búsqueda en Google, encontrará cientos de desarrollo de aplicaciones de Android con tutoriales de Java a través de Internet. Pero con Kotlin? ¡Apenas!
  • Puede encontrar muchos códigos de código abierto para referirse con Java que Kotlin.
  • Si eres un programador tradicional (C, C ++), te resultará más fácil con Java que Kotlin.
  • Kotlin todavía no está desarrollado como Java.

Le sugiero que primero desarrolle en Java, luego comience con Kotlin ya que las cosas serían muy fáciles para usted.

Más adelante, si comienza con Kotlin, puede usarse fácilmente con Java, ya que admite las bibliotecas de Java. También el código escrito en Kotlin se puede convertir en código Java.

Y sí, Google ha agregado soporte oficial para Kotlin en Android Studio. Lo que solía ser al agregar un complemento de Kotlin. ¡Todavía no han abandonado Java!

Espero eso ayude. ¡Gracias!

Eso realmente depende de lo que quieras construir y por qué. Por ejemplo, un programador experimentado que quiera expandir sus horizontes puede inclinarse hacia Kotlin. Un principiante motivado, ansioso por hacer una startup o dejar su huella también puede sentirse atraído por Kotlin. Alguien que solo quiere construir su aplicación podría gravitar hacia Java. Si este es un ejercicio de creación de currículums, incluso puede ser tentador hacer ambas cosas.

Kotlin es un lenguaje relativamente nuevo, que se lanzó por primera vez en 2011 (compárese con golang, est 2009). Fue promovido por JetBrains (con el comentario, muy honesto, de que “esperan que Kotlin impulse las ventas de IntelliJ IDEA”) y ha estado viendo la adopción para el desarrollo de Android incluso antes de que Google lo promoviera a primera clase. Con esta promoción, el siguiente paso es que comiencen los tutoriales, las guías en línea y otros recursos. Aquí es donde aparecen nuestros dos primeros perfiles.

El programador experimentado puede hacer esto por interés o por pasatiempo. El aumento de la exposición a los idiomas continúa entrenando la mente y mejora los patrones de pensamiento, evita construir una zona de confort demasiado grande y desafía los supuestos. Todas estas son cosas buenas para mantenerse en la cima del juego, por lo que es un proyecto de pasatiempo perfecto (no el único, pero bastante sencillo, con una gran aceptación y buenas posibilidades de reutilizar las habilidades aprendidas).

El principiante entusiasta (o programador experimentado que quiere diversificarse) puede querer esto como un proyecto de punta de lanza. Ser (uno de) “el primero” puede naturalmente traer reconocimiento; El primer buen tutorial sobre cómo hacer XYZ se vinculará, se hará referencia, se colocará en un lugar destacado en las búsquedas de Google, y tiene el potencial de cimentar el nombre de una persona o darles una distinción en el futuro. Tal vez ni siquiera es la aplicación lo importante: hablar, escribir, crear una biblioteca puede ser un objetivo que valga la pena. Habrá un territorio inexplorado, pero con esfuerzo y perseverancia uno logra salir y ganar reconocimiento, y posiblemente fama.

El desarrollador que solo quiere hacer su trabajo puede querer mantenerse alejado de Kotlin para Android por un tiempo más. Habrá problemas iniciales. Los resultados de Google pueden no ayudar, o pueden hacer referencia inútilmente al uso de Kotlin en otras áreas, hasta que los dos grupos antes mencionados terminen de escribir tutoriales, guías o bloguear sobre sus problemas. Para este perfil, Java sería una opción adecuada; la mayor parte del camino ya ha sido superada, hay muchas guías, muchas preguntas respondidas en StackOverflow y errores corregidos.

Finalmente, el currículum puede beneficiarse de ambos. Muestra flexibilidad de uso y captación rápida. Haría el orden de Java y luego Kotlin simplemente por la velocidad.

He tratado de anticipar lo que veo como los perfiles típicos, aunque no afirmo que esta sea una lista exhaustiva.

Si bien Java es uno de los lenguajes de programación más utilizados en el mundo y es el lenguaje más preferible para el desarrollo de Android, hay muchas razones por las cuales Java no siempre es la mejor opción para sus proyectos de Android.

  • 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 lambda), 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 si desea usar Java en sus proyectos de Android, entonces está bastante atrapado con Java 7.
  • Aunque Java está comenzando a agregar algunos elementos de programación funcionales, como las expresiones lambda y las interfaces funcionales, en esencia, Java sigue siendo un lenguaje de procedimiento. La sintaxis de Java también es bastante detallada, especialmente en comparación con muchos lenguajes de programación modernos.

Las ventajas de usar Kotlin

  • Kotlin compila a JVM bytecode o JavaScript. Es de gran interés para las personas que trabajan con Java hoy.
  • Koltin viene con un sistema de tipos que le ayuda a evitar excepciones de puntero nulo.
  • Está dirigido a Java 6, por lo que puede usarlo incluso si su implementación dificulta la actualización a una JVM más nueva.
  • Kotlin proporciona soporte de programación funcional con lambdas sin sobrecarga y la capacidad de hacer mapas, plegar, etc. sobre colecciones estándar de Java.
  • Kotlin es completamente de código abierto, también tiene una herramienta de conversión de Java a Kotlin con un solo clic con la que puede convertir un proyecto Java existente un archivo a la vez y todo se compilará, incluso para programas complejos que se ejecutan en millones de líneas de código.
  • Kotlin le permite seguir usando sus herramientas para mejorar la productividad. Si usa IntelliJ, la interoperabilidad IDE es completamente transparente: El código se puede refactorizar, buscar, navegar y completar automáticamente como si el código de Kotlin fuera Java y viceversa. Hay soporte completo para depuración, pruebas unitarias, creación de perfiles, etc.

Características de Kotlin

  • La seguridad nula permite que el compilador marque sistemáticamente posibles desreferenciaciones de puntero nulo.
  • Kotlin nos permite ampliar la funcionalidad de las clases existentes sin heredar de ellas.
  • Kotlin admite conversiones inteligentes, que es capaz de manejar todas las clases redundantes por sí mismo.
  • La delegación, es decir, los métodos de reenvío, se pueden hacer automáticamente.
  • En Kotlin, no tiene que especificar el tipo de cada variable explícitamente, aunque Kotlin esté fuertemente tipado.
  • Kotlin tiene una palabra clave llamada objeto que nos permite definir un objeto, similar a una clase. Ese objeto solo existe como una instancia única. Esta es una forma útil de crear singletons.

Básicamente, estas son algunas características y una descripción general sobre Kotlin. Para obtener información más detallada sobre Kotlin, consulte la referencia que se proporciona a continuación. Espero que esto lo ayude a tomar su decisión.

Referencia: Extensiones de Android Kotlin

Aprende ambos.

Su pregunta, como muchas otras preguntas sobre el lenguaje de programación, y durante mucho tiempo en base a mi experiencia, quiero recomendar aprender ambos idiomas. ¿Por qué? Debido a que Java y Kotlin presentan dos tipos de programación, Java es programación de procedimiento (OOP), Kotlin es programación funcional.

En primer lugar, creo que deberías seguir aprendiendo Java, porque Java también admite una parte de la programación funcional (Programación funcional con Java 8) y estás aprendiendo Java, perderás el tiempo para comenzar a aprender Kotlin, sigamos adelante. Cuando sus habilidades en Java son buenas, aunque no puedo exponer la definición de “bueno”, bueno es cuando algún organismo le hace una pregunta sobre Java, puede ayudarlos de inmediato. Has terminado de aprender Java, es muy fácil aprender otros idiomas nuevos, especialmente con la mayor experiencia en Java 8, Kotlin no te impedirá.

Buena suerte.

Mi sugerencia sería aprender Kotlin y también tener una comprensión decente de Java. Si bien es de esperar que Kotlin sea el futuro para Android, los proyectos de Java no se desvanecerán de la noche a la mañana, y algunos pueden continuar durante mucho tiempo y necesitarán mantenimiento.

No te preocupes, no es tan difícil. Los dos idiomas funcionan con los mismos principios, es solo que Kotlin tiene herramientas convenientes más diferentes disponibles a su disposición, mientras que en Java debe explicar todo explícitamente usted mismo.

Todos están entusiasmados con que Kotlin obtenga soporte oficial de Android. Eso no significa que Kotlin sea un mejor lenguaje que Java, o que se ejecute más rápido.

Personalmente, creo que manejar el código Java es mejor que el de Kotlin. La sintaxis es robusta y explícita. Los principiantes se sienten cómodos con la programación en Java porque es fácil de entender, y los programadores senior se sienten cómodos usándola debido a la alta productividad y el mantenimiento del código.

No te estoy diciendo que no debas usar Kotlin, sino continuar con el idioma que has estado aprendiendo. No vale la pena cambiar (tal vez lo haga en el futuro para un cambio, pero no ahora cuando ya está ocupado con un idioma)

Desde mi punto de vista:

  • Vaya con Java ya que hay muchos mejores recursos disponibles en Java que no encontrará en Kotlin.
  • Comience con Java, ya que Java estará aquí para siempre, todo el código marco de Android está escrito en Java, por lo que encontrará una documentación sencilla y será fácil de aprender.
  • Aunque hay pocos puntos débiles en Java que Kotlin resuelve. Pero si aprende Java, no le llevará tiempo pasar a Kotlin.
  • Si comenzará en 2018 o 2019, la respuesta hubiera sido diferente, pero no estoy seguro.

Pocas referencias que lo ayudarán a aprender kotlin cuando esté listo con Java:

¿Por qué debes probar Kotlin para el desarrollo de Android? – Mindorks

MindorksOpenSource / from-java-to-kotlin

Una guía completa para aprender Kotlin para el desarrollo de Android

Como Google anunció el lenguaje Kotlin para desarrollar aplicaciones de Android, pero eso no significa que alguien no tenga que aprender java. Puede convertir un archivo Java a un archivo Kotlin.

Kotlin ha solucionado una serie de problemas que Java sufre:

  • Las referencias nulas son controladas por el sistema de tipos.
  • Sin tipos crudos
  • Las matrices en Kotlin son invariantes
  • Kotlin tiene los tipos de función adecuados, a diferencia de las conversiones SAM de Java
  • Varianza del sitio de uso sin comodines
  • Kotlin no tiene excepciones marcadas.

Qué java tiene ese kotlin no:

  • Excepciones marcadas
  • Tipos primitivos que no son clases
  • Miembros estáticos
  • Campos no privados
  • Tipos de comodines

Lo que Kotlin tiene que Java no tiene:

  • Expresiones lambda + funciones en línea = estructuras de control personalizadas performantes
  • Funciones de extensión
  • Seguridad nula
  • Moldes inteligentes
  • Plantillas de cadena
  • Propiedades
  • Constructores primarios
  • Delegación de primera clase
  • Inferencia de tipos para tipos de variables y propiedades
  • Singletons
  • Declaración de varianza del sitio y proyecciones de tipo
  • Expresiones de rango
  • Sobrecarga del operador
  • Objetos de compañía
  • Clases de datos
  • Interfaces separadas para colecciones de solo lectura y mutables
  • Corutinas

Kotlin está diseñado para hacer que la plataforma de Android sea fácil y más rápida, por lo que se recomienda usar kotlin.

Si eres un principiante, mi sugerencia sería ir con Java. Haría sus elecciones futuras más fáciles. Kotlin es bueno si ya conoces Java.

¿Por qué Kotlin en lugar de cualquier otro idioma?

Dado que Java es el único lenguaje que la mayoría de la gente usa al desarrollar las aplicaciones móviles, los desarrolladores no tenían alternativas reales a la aplicación Java. Java viene con mucho equipaje histórico y algunos problemas. Java 8 resolvió algunos de esos problemas, y algunos se corrigieron en Java 10. Pero estas dos opciones también tienen lagunas. Uno de ellos es para usar estas dos versiones, uno debe tener el SDK mínimo para Android 24 para usar Java 8, que no es una opción para muchos desarrolladores. Y Java 10 está incluso lejos de su alcance. Entonces, Kotlin fue creado para llenar estos vacíos a través del lenguaje modelo. Hay algunos principios básicos con los que trabaja Kotlin:

  1. Conciso: reduce la cantidad de código repetitivo
  2. Seguro: evite clases enteras de error como puntero nulo
  3. Inteligente: haga su código más legible y comprensible
  4. Fácil de usar: se puede elegir cualquier IDE o compilación de Java desde la línea de comandos
  5. Interoperable: aproveche los marcos y bibliotecas existentes de JVM, Android y navegador.

Puede consultar las características de Kotlin para resolver sus consultas.

More Interesting

Además de Java, ¿cuáles son todos los lenguajes esenciales que tenemos que aprender para desarrollar una aplicación de Android? ¿Python es útil para desarrollar aplicaciones de Android?

¿Cómo ganan los desarrolladores de aplicaciones móviles de sus aplicaciones?

Cómo convertirse en un experto en desarrollo de Android con un buen fondo de Java y una experiencia de Android intermedia

Cómo escribir códigos para un sistema de asistencia móvil con Android Studio

Cómo obtengo material en línea para el desarrollo de aplicaciones de Android usando c ++. ¿Porque soy bueno con C ++ pero no conozco Java?

¿Por qué Android tiene un límite estricto en el tamaño de almacenamiento dinámico de la VM Dalvik?

Cómo enviar un correo electrónico de confirmación de cuenta automática cuando un usuario se registra utilizando una aplicación de Android en Android Studio

¿Se pueden revertir las compras en la aplicación en Android?

¿Con cuál debo ir? Conceptos básicos de Android o UNITY o WebGL?

¿Cuál es un mejor enfoque para sincronizar localmente la base de datos en línea en Android?

¿Debería Google reescribir Android para usar una máquina virtual C ++ llvm tipo en lugar de Dalvik y también reemplazar la pila Java con una pila C ++ nativa para resolver algunos de los problemas de latencia, retraso y distensión, especialmente para el desarrollo de juegos?

¿Es posible usar C ++ para el desarrollo de Android e IOS?

Cómo conectar un servidor web a una aplicación móvil de Android

¿Es mejor obtener un nexo galaxy o un nexus 7 como dispositivo de desarrollo?

Cómo ganar tiempo de conversación y obtener cupones gratis probando aplicaciones de Android