¿Cuáles son las perspectivas de empleo para el desarrollo de iOS? ¿En cuántas direcciones se puede desarrollar?
Entorno de desarrollo
Por supuesto, puedes escribir código a través de archivos de texto como de costumbre, pero si utilizas un entorno de desarrollo integrado, la programación sin duda será más eficiente.
El entorno de desarrollo de Apple es Xcode y trabajar en Xcode es algo muy agradable. Es responsivo, potente y muy conveniente al mismo tiempo. Su depurador funciona a la perfección y responde muy bien.
¿Qué pasa con la plataforma Android? El entorno de desarrollo actual es Eclipse, se utiliza el complemento de Android para la depuración y el rendimiento es bastante pobre. Es lento, lento y la operación simultánea va en contra del sentido común. Es un desastre y es muy diferente de Xcode. Sin mencionar el emulador de Android, que tarda varios minutos en iniciarse cada vez y la mitad no puede conectarse al puente de depuración de Android.
Desde el punto de vista actual, Google también se ha dado cuenta del problema y está desarrollando un nuevo IDE de Android Studio:
En la actualidad, Android Studio ha proporcionado una versión preliminar para descargar. Y algunas funciones aún no están disponibles por completo, los desarrolladores encontrarán muchos errores durante el uso. Si no se siente cómodo usando un producto semiacabado de este tipo, tal vez pueda descargar el paquete ADT para reemplazarlo.
Aunque Google ha comenzado a prestar atención al entorno de desarrollo, lo que todavía hace felices a los desarrolladores, la velocidad de respuesta sigue siendo sorprendentemente lenta. Ya sabes, han pasado cuatro años y medio desde que compré mi primer teléfono con Android y el entorno de desarrollo sigue siendo un desastre.
Ganador: iOS gana una calle.
Implementación
En comparación con Xcode de Apple, Android tiene un archivo de manifiesto en el que puedes almacenar o editar tu aplicación a través de Eclipse. Cuando ocurre un error mientras la aplicación se está ejecutando, aún querrás recibir mensajes de error más claros. La configuración de las aplicaciones de Android es significativamente más sencilla pero más elegante.
Ganador: Android
Diseño interactivo
Como habrás adivinado, Apple definitivamente ganará esta ronda de competencia. Interface Builder de Apple puede generar rápidamente hermosas interfaces de usuario. Sin embargo, también tiene un problema. Cuanto más probé Interface Builder, menos me gustó. Si bien tiene un profundo conocimiento de la simplificación, con el tiempo y las aplicaciones han evolucionado, esas simplificaciones se han vuelto más complejas y confusas, y no me gusta la funcionalidad multipantalla que Apple agregó a Storyboard hace un año.
En teoría, Android tiene las mismas herramientas de desarrollo de efectos visuales. En la operación real, siempre que escriba un archivo XML, se adaptará automáticamente a diferentes tamaños de pantalla y completará el diseño después de escribirlo.
En este enlace la competencia es más intensa de lo que crees. Aunque creo que ambos sistemas tienen sus propios méritos, sigo pensando que iOS gana. En primer lugar, es más sencillo: sólo hay tres tamaños de pantalla a los que adaptarse, y Android es obviamente mucho más complicado. En segundo lugar, los elementos visuales predeterminados de iOS son mucho mejores que los de Android.
Ganador: iOS
Idioma
El lenguaje de las aplicaciones de Android es Java, mientras que el lenguaje de las aplicaciones de iOS es Objective-C. Elegí Java en lugar de Objective-C porque estaba más familiarizado con Java en ese momento. Pero pronto descubrí que me gustaba cada vez más Objective-C. Más fácil de usar y más sencillo que Java. Tiene categorías, pero Java no; tiene bloques, pero Java no.
Ganador: iOS
Interfaz de programación de aplicaciones
Tanto Android como iOS proporcionan a los desarrolladores una gran cantidad de bases de datos de software y, en general, estas bases de datos son muy similares: Algunas de estas API proporcionan la función de utilizar el teléfono móvil y otras proporcionan la función de conexión de red. La mayoría de estas partes las completa el controlador.
Para iOS ViewController, su funcionalidad es equivalente a la Actividad de Android.
Pero iOS tiene algunos frameworks y características que Android no tiene. Android no tiene el potente marco de datos central de iOS. Este marco es muy fácil de usar y tiene un diseño muy simple.
Ganador: iOS
Red
Las conexiones de red generalmente se ejecutan en segundo plano, por lo que no tienen mucho impacto en la aplicación en sí. Android proporciona AsyncTask para detectar si el usuario está actualmente en línea. IOS también proporciona las funciones correspondientes, pero debido a su bajo nivel, el rendimiento no es muy ideal.
Pero puedes hacer esta parte más fácil con muchas bases de datos de código abierto. Puedo hacer que la conexión sea muy fácil con AFNetworking. Pero esta herramienta no es compatible con Android porque Java no puede completar operaciones de bloque.
Ganador: las bases de datos propias de Android ganan, pero las bases de datos de terceros de iOS también son excelentes.
El ganador final es...
Si bien Android tiene ventajas únicas en algunos aspectos, en general, escribir excelentes aplicaciones para iOS es mucho más fácil que para Android. Teniendo en cuenta que los usuarios de iOS tienden a tener hábitos de pago más saludables, los desarrolladores naturalmente optarán por priorizar el desarrollo de aplicaciones para iOS. El nuevo IDE de Android Studio puede mejorar parte de la experiencia de desarrollo de Android, pero no es suficiente.