En el desarrollo de Android, ¿cuál es el mejor: Java, C # u otros?

He tenido la intención de aprender Xamarin durante un tiempo para crear aplicaciones multiplataforma, pero aún no ha sido una prioridad. Por supuesto, ya conocía Java antes de que hubiera teléfonos inteligentes, y C # mucho antes de que existiera Xamarin, por lo que no necesitaba aprender ninguno de los idiomas, solo los marcos y las cadenas de herramientas.

Parte de la razón por la que aprender Xamarin no ha sido una prioridad es porque he estado involucrado en proyectos que han involucrado hardware personalizado. Es difícil argumentar que necesita portabilidad a otro sistema operativo móvil cuando ni siquiera requiere portabilidad en una gama de hardware con el que está utilizando. No puedo imaginar escribir el código que escribo tan rápido sin usar la cadena de herramientas y el marco nativos. Eso no significa que no podría hacerlo, pero habría pasado tiempo descubriendo cómo interactuar con bibliotecas de clases que realmente tienen un propósito especial. Es la misma razón por la que necesitaría una justificación sólida para la codificación de Windows usando cualquier cosa menos C # .NET a menos que estuviera escribiendo controladores de dispositivo.

Mi consejo en este caso es que si tiene la intención de escribir aplicaciones multiplataforma que no requieran nada especial, primero aprenda herramientas multiplataforma. Xamarin parece ser una buena opción para eso. También hay otros contendientes como Phonegap. Cuando tenga tiempo libre, también aprenda las herramientas nativas.

Si desea poder crear una aplicación en varias plataformas simultáneamente, elija entre Xamarin, PhoneGap, React-native.

Pero tenga en cuenta que las aplicaciones desarrolladas con estas tecnologías no tienen tantas capacidades como las aplicaciones móviles nativas. Y seguro en el futuro aún, el desarrollo nativo funcionará mejor para la mayoría de las aplicaciones.

Hablando sobre desarrollo nativo, para Android deberías aprender Java y para iOS – Swift. También hay desarrolladores completos que tienen conocimiento de ambos idiomas y pueden desarrollar aplicaciones nativas de iOS y Android.

Pero al principio deberías estudiar uno de ellos.

Asumiendo que eres un principiante total en el desarrollo de Android, te recomendaré Java.

Sí, xamarin es bueno, pero el nivel de soporte en comparación con Java no es suficiente.

Una vez que se familiarice con Java, le recomendaría cambiar a Kotlin, un lenguaje de programación compatible con Android Studio. También es 99.99% interoperable con java.

Como especificó Android, no recomendaré ningún otro IDE que no sea Android Studio.

Será muy difícil para usted encontrar un IDE tan maduro como Android Studio para el desarrollo de Android.

Lo mejor siempre se reducirá a lo que le resulte más cómodo.

Si desea crear aplicaciones multiplataforma, es probable que desee elegir C # y Xamarin. Y oye, podrías terminar disfrutando de C #.

Pero, por supuesto, si quieres hacer lo mismo con Java, será bastante difícil. Hay algunos marcos para hacerlo más fácil. ADF, por ejemplo, se puede usar para ejecutar su código Java en ios (Oracle obtiene Java ejecutándose en dispositivos iOS – DZone Mobile), pero no es una gran solución.

Las herramientas de desarrollo nativas para Android se han desarrollado para Java. Java debe considerarse como el idioma nativo para Android. Al desarrollar en Java, estará más cerca de las funciones nativas, la máquina virtual interna, …