¿Cuál es más beneficioso entre el desarrollo de aplicaciones de Android e iOS?

Android vs iOS: ¿Cuál debería aprender primero?

El desarrollo móvil es el dominio de más rápido crecimiento en la industria del software, lleno de oportunidades y posibilidades de trabajo independiente. El desarrollo móvil, y el trabajo del desarrollador móvil, está cambiando todo el tiempo, con versiones actualizadas de sistemas operativos (SO), nuevos dispositivos y nuevas capacidades tecnológicas.

Tengo más de cinco años de experiencia en desarrollo móvil iOS y Android. En este artículo, enumeraré algunos de los factores a tener en cuenta al elegir en qué sistema operativo especializarme primero según mi propia experiencia. Tenga en cuenta que la elección es subjetiva.

Una introducción a la estructura básica de la aplicación móvil

Independientemente de la plataforma que elija aprender primero, hay un principio básico de desarrollo móvil que debe dominar: el patrón Model View Controller (MVC), que dicta el proceso que un desarrollador móvil debe seguir durante el desarrollo. En esta estructura de tres niveles, la lógica empresarial, las pantallas y los activos se administran por separado en diferentes archivos y directorios dentro del mismo proyecto. El enfoque de desarrollo MVC de tres niveles se puede resumir en tres pasos clave:

  1. Diseño de pantalla. Se realiza el análisis de las pantallas de diseño y se finalizan los controles nativos (“Vistas”), lo que conduce a la implementación de los diseños en la interfaz de usuario de la aplicación.
  2. Agregue los activos de diseño. Se agregan los activos adecuados al proyecto y se realiza el enlace estático de estos activos a las Vistas de la IU.
  3. Programación de la funcionalidad de la aplicación. Finalmente, la lógica de negocios para la aplicación está escrita en lenguaje de programación como Java (Android) o Swift (iOS).

El desarrollo móvil no es solo escribir código en un lenguaje de programación como Java o Swift: es la gestión de activos, el diseño y la codificación de la interfaz de usuario (UI), ya sea en XML o mediante una interfaz, y luego se vinculan entre sí para lograr el producto final.

Una vez que un desarrollador esté familiarizado con el diseño de MVC y sus principios, aquí hay algunas otras cosas a tener en cuenta que podrían ayudarlo a seleccionar un sistema operativo móvil para especializarse.

1. Tiempo para aprender

Dicen que el primer paso es siempre el más difícil. Lleva tiempo familiarizarse con cualquier tecnología nueva, y el desarrollo de aplicaciones móviles no es una excepción. Espere que le tome un tiempo aprender, dependiendo de qué tan bien comprenda los principios básicos de desarrollo.

Android e iOS tienen diferentes complejidades y estándares, lo que resulta en diferentes tiempos de aprendizaje para ambos. iOS es un sistema operativo maduro en comparación con Android, y tiene un conjunto predefinido de normas y reglas. iOS sigue estrictamente las reglas, lo que a menudo dificulta la aprobación de la App Store. iOS también tiene herramientas bastante buenas, como el nuevo lenguaje de programación Swift, que hace que su tiempo de aprendizaje sea potencialmente más corto.

Android es enorme, con más de 5000 dispositivos de diferentes proveedores que ejecutan diferentes versiones de SO, tamaños de pantalla y densidades, lo que significa que un desarrollador tiene que tener más en cuenta la compatibilidad y las pruebas en el proceso de desarrollo. En Android, los resultados del código pueden ser un poco complejos, lo que dificulta que un principiante lo entienda sin sumergirse en las profundidades del código. Dado que Android está programado en el lenguaje Java, los desarrolladores con experiencia en programación Java pueden encontrar más fácil la transición a Android que iOS.

2. Herramientas de desarrollo.

Las herramientas de desarrollo tienen un impacto significativo en el desarrollo móvil. Si una plataforma tiene herramientas de desarrollo maduras, se garantiza su supervivencia y éxito sobre otros sistemas operativos. La facilidad para trabajar con un entorno de desarrollo integrado (IDE) puede ser un importante punto de inflexión para algunos desarrolladores. Cuanto más intuitivo y maduro, mejor.

iOS ofrece el Xcode IDE para desarrollo móvil. Xcode es una herramienta increíble con características y características maduras. Las aplicaciones para iPhone, iPad, Mac OSX e iWatch se pueden desarrollar en Xcode. Sus características más importantes son Code Completion, su interfaz de diseño de interfaz de usuario, gestión de la jerarquía de directorios, creación de perfiles, depuración, datos básicos, gestión de activos y muchos más.

Eclipse se ha utilizado para el desarrollo de Android en el pasado, pero generalmente no se considera que brinde una experiencia tan buena para los desarrolladores como Xcode. Android lanzó “Android Studio”, el IDE oficial de Android que se considera mejor que Eclipse, pero no supera a Xcode en términos de características y funcionalidad. Los IDE suelen ser una cuestión de preferencia personal; elige el que mejor funcione para ti.

En pocas palabras, iOS tiene una ventaja sobre Android con respecto a las herramientas de desarrollo disponibles.

3. Requisitos de hardware

Android Studio es compatible con la mayoría de los principales sistemas operativos como Windows, OS X y Linux. Las aplicaciones de Android se pueden desarrollar en una máquina con Windows, Linux o en una Mac, pero iOS no es tan flexible. Xcode fue diseñado solo para ejecutarse en máquinas Mac, por lo que tendrá que organizar una computadora Mac para el desarrollo de iOS porque no puede desarrollar una aplicación iOS en una máquina Windows / Linux.

Una alternativa a esto es usar una máquina virtual en una PC con Windows. Según mi experiencia, no recomendaría este enfoque porque potencialmente podría dedicar mucho tiempo a otras cosas que no sean el desarrollo.

Entonces, Android obtiene puntos aquí sobre iOS porque te da la libertad de desarrollar aplicaciones de Android en cualquier sistema operativo.

4. Licencias / Membresía

Para el desarrollo de iOS, los desarrolladores deben suscribirse al programa de membresía de Apple para publicar aplicaciones en la App Store. Apple ofrece diferentes programas con diferentes requisitos. Un programa de desarrollador individual cuesta alrededor de $ 100 al año, lo que puede ser mucho para un desarrollador independiente que solo está construyendo su negocio. Por otro lado, Android no requiere ningún tipo de suscripción o programa de membresía para el desarrollo. Pero para publicar una aplicación, la tienda Google Play cobra una tarifa única de registro de $ 25.

5. Comprensión y exposición al código que escribes.

Para el desarrollo de iOS, se debe seguir un conjunto predefinido de estándares y reglas enumerados por Apple para que una aplicación sea aprobada y publicada en la App Store. En Android, un desarrollador tiene más libertad y puede explorar diferentes soluciones para el mismo problema, por ejemplo, escribir vistas personalizadas o modificar vistas nativas. Esto no está restringido en Android, pero en iOS este tipo de flexibilidad está fuera de los límites. Durante el desarrollo de iOS, las pantallas se diseñan con una interfaz de arrastrar y soltar. Esto se puede hacer con un mouse y teclas de acceso directo, principalmente en la implementación de la interfaz. Solo puede agregar pestañas con el NavigationController, que es una interfaz gráfica que le brinda menos opciones. Si intenta cambiar la posición de las pestañas en iOS, por ejemplo, la aplicación sería rechazada.

La interfaz gráfica de la interfaz de usuario de Android no es tan conveniente ni práctica, ya que requiere que usted escriba código en XML para un diseño de pantalla óptimo. En la interfaz gráfica de la interfaz de usuario de Android, los diseños y las vistas están escritos en XML. Los rellenos, los pesos, los márgenes y la gravedad de las vistas están codificados. El diseño de pantallas en XML es útil porque le permite analizar la jerarquía de vistas de una pantalla de un vistazo. Algunas funciones específicas de Android, como el procesamiento en segundo plano (servicios), los receptores de difusión, las intenciones y los proveedores de contenido, ofrecen a los desarrolladores una comprensión muy profunda de un sistema operativo móvil. Además, mejora sus habilidades de desarrollo, que se pueden utilizar en otras plataformas.

Entonces, ¿cuál es el adecuado para usted?

Después de comparar algunas características principales del desarrollo de iOS y Android, por un lado, iOS puede parecer una mejor opción para un principiante sin mucha experiencia previa en desarrollo. Pero si tiene experiencia previa en escritorio o desarrollo web, le recomendaría aprender el desarrollo de Android.

Aprender Android proporciona una comprensión más profunda de cómo funcionan las cosas en el desarrollo móvil. Le brinda más control en comparación con iOS, permitiéndole agregar / eliminar y editar sus pantallas mediante programación, y escribir pantallas en XML desde cero, todo lo cual le brinda una mejor comprensión del funcionamiento de un sistema operativo móvil. En iOS, tiene menos control sobre la modificación de los comportamientos predeterminados de las vistas / aplicaciones, y las pantallas se crean con una interfaz gráfica (arrastrar y soltar).

Android también brinda a los desarrolladores más libertad para resolver problemas, y les permite hacerlo utilizando cualquier enfoque personalizado o nativo que desee. Por ejemplo, suponga que desea implementar pestañas en su aplicación. En Android, tiene opciones sobre cómo desea agregar pestañas, a la Barra de acción, a través de TabbedView o en la parte superior de la aplicación, pero en iOS, tiene menos opciones.

Android ofrece una opción abierta a los nuevos desarrolladores. Le permite probar y distribuir su aplicación en la tienda Google Play o en cualquier otro medio, si lo prefiere. Aunque el desarrollo de Android lleva más tiempo dominarlo que iOS, su complejidad puede aumentar su confianza para dominar otras plataformas y herramientas móviles como iOS o Xamarin.

En pocas palabras, sugeriría que abordes el desarrollo móvil como un desafío. Comienza a aprender Android si quieres entrar en el desarrollo móvil y esperas que tarde entre 1 y 3 meses en comprenderlo por completo.

Revisa:-

Desarrollando para Android vs desarrollando para iOS – en 5 rondas

  • Android es abundante (no es necesario probarlo)
  • El desarrollo de aplicaciones de Android te enseñará cosas que tienen un uso práctico incluso fuera del desarrollo de aplicaciones (gracias más adelante)
  • Los chicos de Google son más útiles que los de Apple (Marquen mis palabras)
  • A menudo encontrarás muchas más bibliotecas buenas y podrás construir cosas más complejas con facilidad (no digas más)

Lee esto

La respuesta de Chahat Gupta a ¿Cuál es un mejor campo, desarrollador de Android o desarrollador de iOS?

Como todos sabemos hoy, las aplicaciones móviles son esenciales para cualquier negocio. Cambio de mercado a la aplicación móvil muy rápidamente. Ambos Android iOS tienen algunas ventajas entre sí.

Si su mercado es Asia, África o Sudamérica, Android

Si planea ganar dinero a través de compras en la aplicación o cobrar por su aplicación directamente, Apple

Tipo de aplicación: si está creando una aplicación minorista: Apple

Tipo de aplicación: si está haciendo una aplicación paga o una aplicación con compras integradas, Apple

Costo- Apple

Compañero, ¿no mencionaste eso beneficioso para quién y con respecto a qué? ¿En términos de dinero o conocimiento o qué?

¡La amabilidad de aclarar!

Última edición según la respuesta en el comentario:

En términos de dinero, iOS es bueno, pero si me preguntas, realmente no importa o no depende del tipo de desarrollo. Porque he visto a muchas personas con Android que ganan bien que los desarrolladores de iOS. Algunos desarrolladores de iOS ganan más y otros ganan menos. De hecho, depende de la persona a la que puede pedir en función de sus conocimientos y experiencias.