¿Cuáles son las ventajas y desventajas de desarrollar aplicaciones de Android en Kotlin versus Java?

Anil hace algunos puntos muy importantes, y estoy totalmente de acuerdo.

Pero tenga en cuenta que, incluso en comparación con Java 8 y RxJava, Kotlin aún ofrece muchas ventajas:

  • Si bien Java 8 presenta características como lambdas y streams (que también están disponibles en Kotlin), Kotlin facilita aún más muchas tareas comunes con características de lenguaje como clases de datos y conversiones inteligentes, mejora el rendimiento con lambdas en línea y lo ayuda a favorecer la inmutabilidad y evitar la nulidad.
  • En comparación con RxJava o Java Futures, las corutinas de Kotlin son más potentes porque le permiten implementar cualquier modelo de asincronía por sí mismo en lugar de fijarlo en uno. Además, le permite escribir su código asincrónico de una manera simple que se parece a un código sincrónico.

Esos son solo dos puntos que quería agregar a la muy buena respuesta de Anil.

Aclamaciones,
Peter

Técnicamente hablando, no hay inconvenientes para Kotlin a través de vis Java. Kotlin es conciso, tiene una agenda clara en cuanto a lo que quiere lograr (hacer que el desarrollador funcione fácilmente) y no hay dos pensamientos al respecto.

Sin embargo, todavía no hay un uso a gran escala de Kotlin en comparación con Java. La razón principal es que es relativamente nuevo. Definitivamente, hay menos soporte de la comunidad de desarrolladores, como Stackoverflow, Github, si tiene un problema.

El desarrollo de aplicaciones / software no es una empresa unipersonal sino un ejercicio de equipo. Si quieres usar Kotlin, no eres solo tú, sino que todos los miembros del equipo necesitan conocer a Kotlin. No puedes decir que voy a codificar en Kotlin lo que otros hacen no es mi problema. Los módulos que desarrolle serán leídos / mantenidos por otros desarrolladores. Si aún no han migrado a Kotlin, no puede continuar con Kotlin.

¿Cuántos recién graduados de la universidad conocen a Kotlin frente a Java? Obtendrá la respuesta de por qué Kotlin aún no se usa ampliamente.

Los desarrolladores podríamos entusiasmarnos con cualquier nuevo lenguaje de programación e incluso desearíamos usarlo, pero a las empresas no les importan estas cosas. El enfoque habitual en la industria del software es, si no está roto, no hay necesidad de arreglarlo, a menos que mantenerlo se convierta en un dolor inmencionable. No ven un valor inherente en la migración de Java a Kotlin. En última instancia, las empresas pagan la factura por cualquier esfuerzo de desarrollo. Si no lo respaldan, los desarrolladores continuarán utilizando lo que se está utilizando al menos para el trabajo oficial.

Java 1.8 y RxJava habían entusiasmado a muchos desarrolladores más que Kotlin. Esto ha hecho que Java sea más poderoso y emocionante. Algunas personas ven más valor en mejorar sus habilidades en la vecindad de su familiaridad en lugar de aprender un lenguaje de programación completamente nuevo.

Siento que a medida que pasa el tiempo veremos más adopción de Kotlin y creo que los contras de Kotlin son más factores humanos que técnicos.

Pros:

  1. En kotlin, debe escribir menos código para realizar una tarea en comparación con Java.
  2. Es más fácil de usar.

Contras:

  1. Como es nuevo, muy pocas personas lo están usando. Quizás estés pensando, ¿cómo es eso una desventaja?

Ok, déjame intentar explicarte.

Supongamos que tiene dudas respecto a realizar una determinada tarea en Kotlin. Intentarás despejar esa duda usando libros, tutoriales.

Si su duda no se resuelve, su única opción es preguntarle a la comunidad que está usando Kotlin. Como menos personas lo usan, las posibilidades de obtener una respuesta rápida son menores que las de Java.

Java se usaba desde hace mucho tiempo. Entonces, si tiene alguna pregunta, hay muchas posibilidades de que alguien más la haya hecho.

Cada vez que tenía una pregunta sobre somrthin, solía buscarla y cada vez que alguien ya había hecho la misma pregunta. Así que hubo múltiples respuestas a la misma pregunta exacta.

Se ahorró mi tiempo y pude usar el método que entendí, ya que había muchas respuestas para realizar exactamente la misma tarea.

Mis sugerencias son, comience con Java. Después de algún tiempo, tal vez alrededor de 2 a 3 años, habrá suficientes recursos para que pueda comenzar a aprender Kotlin.

O si desea aprender Kotlin, puede continuar, pero tendrá que esperar mucho para aclarar sus dudas, ya que la comunidad de Kotlin es pequeña en comparación con la comunidad de Java.