¿Debo aprender Java 8 o 9 para el desarrollo de Android, o aprender Kotlin?

Java siempre estará en el centro del desarrollo de Android.

Pero, el movimiento de Google para hacer de Kotlin un ciudadano de primera clase no solo fue sabio, sino un movimiento necesario.

Verá, Java es un lenguaje estable y maduro, pero lleva mucho tiempo escribir algunas cosas triviales.

Es un lenguaje creado para empresas, es decir, que ejecuta muchos servicios web, realiza muchas orquestaciones, etc.

Sé que puedes generar getters y setters usando IDE, y las lambdas son buenas adiciones, pero lo que Java realmente carece son variables globales y funciones puras.

Ya ves, soy un desarrollador de C ++. Muchas veces quiero tener una función auxiliar muy simple que no necesita estar relacionada con ninguna clase en particular. Java no te da eso. “Todo debe estar en una clase”, y para los globales (ab) es obligatorio usar el patrón singleton.

Kotlin, por otro lado, funciona sobre la JVM y es 100% intercambiable con Java, pero le brinda más flexibilidad. Y le brinda todas estas pequeñas peculiaridades que faltan en Java (funciones, globales, etc.).

Diría que Kotlin es para Java lo que Go es para C, una buena adición y reemplazo para ciertas cosas.

Hay un buen artículo -> Kotlin vs Java: Velocidad de compilación – Keepsafe Engineering – Medium

Pero para obtener más información sobre Kotlin y sus ventajas sobre Java, consulte -> Preguntas frecuentes – Lenguaje de programación Kotlin

La curva de aprendizaje para usar Kotlin es bastante baja: cualquier desarrollador Java experimentado puede elegir Kotlin en unas pocas horas. La documentación oficial de JetBrains, los desarrolladores detrás de Kotlin, es exhaustiva y está muy bien hecha. También te sentirás como en casa trabajando con Kotlin

Para el desarrollo de Android, con Android Studio, hay muy buen soporte de herramientas, ya que Android Studio es una bifurcación de IntelliJ, que también fue construida por JetBrains.

También interopera perfectamente con Java. Puede usar archivos Kotlin y Java en el mismo proyecto, y funcionarán muy bien juntos . Los desarrolladores que recién están aprendiendo Kotlin pueden sentirse cómodos usando el lenguaje para partes aisladas de la aplicación para probar los resultados.

El uso de bibliotecas Java con proyectos basados ​​en Kotlin también es sencillo: simplemente funciona. Lo contrario también es cierto: puede incluir fácilmente cualquier biblioteca escrita en Kotlin dentro del código Java. Algunas bibliotecas proporcionan extensiones de Kotlin, que en la mayoría de los casos son contenedores en algunas de las API públicas en modismos de Kotlin. Un ejemplo es RxKotlin, construido sobre RxJava, lo que lo hace más amigable para Kotlin.

Quizás la ventaja más importante de Kotlin vs. Java es el conjunto de características. Kotlin agrega algunas capacidades nuevas e importantes para proyectos de desarrollo de Android que aún no puede encontrar en Java. Algunas de mis características favoritas incluyen:

  • Seguridad nula a través de tipos anulables y no anulables, llamadas seguras y lanzamientos seguros
  • Funciones de extensión
  • Funciones de orden superior / expresiones lambda
  • Clases de datos
  • Inmutabilidad
  • Corutinas (agregadas en Kotlin 1.1)
  • Alias ​​de tipo (agregado en Kotlin 1.1)

Finalmente puedo decir que Kotlin es mejor que Java en el desarrollo de Android

Es mejor aprender Kotlin en línea. te sugeriré

Los mejores cursos en línea de Kotlin

  • El curso completo para desarrolladores de Kotlin
  • El curso completo para desarrolladores de Android Kotlin [BEST]
  • Kotlin para Android

Mejor ir con el 2do.

Google ahora apoya oficialmente a Kotlin en el desarrollo de Android. Kotlin es claramente el futuro para Java. ¡Ven a aprenderlo en este divertido y emocionante curso!

  • Para principiantes o programadores experimentados : si eres un principiante completo, tengo una sección para ti en el curso que te guía paso a paso por Kotlin. Si tiene algún tipo de experiencia en programación, tengo una sección titulada Kotlin para programadores que lo pondrá al día lo más rápido posible.
  • Aprenda con proyectos completamente funcionales : creo que aprender al hacerlo en este curso creará dos aplicaciones de Android, una herramienta de línea de comandos y Javascript para un sitio web.
  • Desafíos para evaluar su aprendizaje : a medida que avanzamos en el curso, proporciono desafíos que evalúan sus nuevas habilidades y se aseguran de que obtenga el máximo provecho de este curso.

Si está buscando crear aplicaciones de Android, herramientas de línea de comandos, Javascript o simplemente un nuevo lenguaje de programación.

Todo lo mejor .

Android admite todas las funciones de lenguaje Java 7 y un subconjunto de características de lenguaje Java 8 que varían según la versión de la plataforma.

Java 8 es un lenguaje maduro y con más desarrolladores y una comunidad para apoyar su uso en el desarrollo de Android con excelentes resultados y productividad, y más desarrolladores están acostumbrados a Java 8.

Sin embargo, Kotlin es seguro, conciso, amigable con las herramientas y viene con clases de datos y otras características útiles a continuación que java 8 no ofrece.

Creo que Kotlin tiene más que ofrecer porque:

  • Seguridad nula
  • Inferencia de tipos
  • Interpolación de cuerdas
  • Clases de datos
  • Delegación
  • Moldes inteligentes
  • Condicionales como expresiones
  • Clases selladas
  • La expresión when
  • Funciones de extensión
  • Co-rutinas en 1.1

En comparación, java no tiene lo siguiente

  • 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
  • Coroutines ”- Comparación con Java – Lenguaje de programación Kotlin

En general, sugeriría Kotlin porque es más versátil.

Bien,

Como New Android Studio (actualmente en versión beta) llegó con soporte de kotlin, parece que kotlin será el futuro de Android.

Razones ??? Oh si, porque no !!

Las bibliotecas de Java son demasiado pesadas y requiere mucho tiempo de desarrollo para crear y ejecutar (espero que conozca los problemas de tiempo de construcción de Gradle) La sintaxis de Java también es grande y larga.

Pero las bibliotecas de Kotlin no tienen peso y no se compilan y funcionan sin problemas. Además, Kotlin es fácil de aprender y consumir (al igual que phyton) y tiene mejores valores.

La creación de aplicaciones con Kotlin seguramente será el futuro del desarrollo de aplicaciones de Android.

¡Y si! Kotlin también ahorra su tiempo de espera de desarrollo.

Entonces, ve con Kotlin.

Saludos

Vaibhav

Kotlin es un desarrollo de aplicaciones basado en Java. Android declaró que usarán Kotlin en el futuro.

Kotlin y Android

Puedes aprender Java 6, 7 u 8. Todo es Java … No importa demasiado En cuanto a Kotlin, el nuevo estudio de Android lo admite y creo que Google se moverá más hacia Kotlin en el futuro. Pero mi consejo es que si quieres hacer algo fuera de las aplicaciones móviles, Java es el camino. Si no, entonces kotlin es bueno.

Sí. A diferencia de .net, la JVM está estrechamente conectada con Java, por lo que debe aprender Java de todos modos.

Todavía estamos un poco lejos de necesitar Kotlin, y Java no va a ninguna parte. Yo elegiría Java por ahora.