Todo lo que puedo decir, por supuesto, es desde mi perspectiva.
He sido programador de iOS durante casi 10 años. Tienes una Mac, descargas Xcode, eso es todo. Conecta su teléfono a su computadora, hace clic en Sí para que el dispositivo sea un dispositivo desarrollador. Y te vas. Solo desarrollas tu aplicación. El simulador se inicia en menos de 3 segundos, emula todos los dispositivos. Puede girar, pellizcar y hacer zoom fácilmente. Obtienes el paquete completo. Todas las bibliotecas que necesita provienen de Apple y hay infinitas cantidades de fuentes de código abierto. Más del 90-95% de todos los usuarios utilizan el último sistema operativo en cuestión de unas pocas semanas. Tienes que seguir un patrón de diseño y casi todos lo siguen. Tiene una aplicación de trabajo vacía en funcionamiento en cuestión de minutos. Diseña tus aplicaciones o niveles de juego en el generador de interfaces. Simplemente funciona y se reconoce que este es el camino correcto.
Ahora a Android.
- ¿Cuál es la diferencia entre CyanogenMod, MIUI, Oxygen OS y Android?
- ¿Cómo comenzar con el desarrollo de Android? ¿Cuáles son las plataformas gratuitas disponibles para aprender el desarrollo de aplicaciones de Android?
- ¿Android Studio viene con tutoriales?
- ¿Cuál es la diferencia entre publicar una aplicación a través de sitios web de creación de aplicaciones y Android Studio?
- ¿Qué habilidades se requieren para desarrollar una aplicación de Android basada en la web?
Las cosas fueron mucho peores con Eclipse anteriormente, pero solo han mejorado un poco, necesitas descargar Android Studio. Luego, debe decidir qué versión del kit de desarrollo desea, solo el 4% o menos usa las dos últimas versiones principales de Android, la mayoría tiene más de unas pocas generaciones de retraso. No voy a seguir hablando de cpus multinúcleo, núcleos simples antiguos, pantallas cuadradas, pantallas largas y las variantes de un millón. Android hace que las aplicaciones de resolución múltiple sean un poco fáciles. Pero cuando hablas con 5 desarrolladores de Android, obtienes al menos 6 mejores prácticas diferentes, aunque todos están de acuerdo en que NO debes usar el diseñador gráfico incorporado, además funciona bastante mal y terminas con una apariencia que se rompe fácilmente y te formatea casi no puedo volver a. Trabajar con XML directamente no es lo más difícil, es bastante similar a HTML. Sin embargo, debe saber bastante de memoria, ya que el sentido de código / completo realmente no funciona todo el tiempo allí, y de todos modos necesita saber lo que está haciendo. Necesita instalar un emulador real, lo que significa que está ejecutando la versión completa de Android, prácticamente tiene un dispositivo Android completo en su escritorio, pero funciona tan lentamente que es horrible. Correr en un dispositivo es mucho más simple.
En cuanto al código de programación, estás haciendo las mismas cosas que en iOS, aunque en mi opinión, las cosas son demasiado complicadas. Simplemente hacer una llamada web asincrónica a un servidor requiere mucho trabajo, clases y subclases, no envía variables, envía objetos instanciados.
tl; dr: Si eres un desarrollador JAVA experimentado, no creo que tengas ningún problema con Android. Puede estar funcionando en un día, incluso unas pocas horas. Java, por supuesto, tiene una gran cantidad de bibliotecas, una cantidad interminable, y todo se ejecuta en su dispositivo, más o menos, de lo contrario, tiene mucho trabajo por delante.
Si no eres un desarrollador Java experimentado, tendrás algunos problemas. Yo hablo por experiencia. No soy un desarrollador Java experimentado. No llego a ninguna parte, rápido. Me las arreglé para hacer aplicaciones muy simples, pero encuentro todo el asunto de Android muy artificial, difícil y demasiado complicado. A las personas que conozco que hacen desarrollo de Android les gusta. Admiten libremente que las herramientas que tengo me parecen más terminadas, pero no pueden pensar en hacer las cosas de manera diferente. Por otro lado, casi no puedo transferir ningún conocimiento. Si me lanzo y hago aplicaciones de Android reales, comenzaré desde cero.
Comencé casi desde cero en iOS, pero en unos días tuve una serie de aplicaciones simples en funcionamiento, descarga de imágenes asíncronas y más. Podría escribir esas aplicaciones desde cero. En Android, no tanto. Hay tanto que debes saber antes de llegar a cualquier parte.
Francamente, es más fácil trabajar en iOS, mucho más fácil. Tiene mejores herramientas, marcos y bibliotecas más fáciles, más fáciles de probar y usuarios más dispuestos a pagar por las aplicaciones.