¡Es más prometedor aprender a desarrollar aplicaciones para iOS o Android!
Hola, primero que nada, desde el punto de vista emocional, usa la que quieras, como Pepsi y Coca-Cola. Eso sí, esta metáfora no es muy apropiada porque el sabor de la Coca-Cola es similar. pero Android e iOS siguen teniendo una gran diferencia.
iOS deriva del OSX de Apple, que es un sistema UNIX. OSX tiene una historia de casi 10 años y se ha desarrollado gradualmente desde la base del núcleo hasta la arquitectura del software. iOS se desarrolla utilizando el lenguaje antiguo ObjectivC. Google obtiene Android basado en Linux. Estrictamente hablando, Android no es un sistema Linux. No tiene Linux xwin, no tiene glibc y carece de un conjunto completo de programas estándar de Linux. La mayoría de las aplicaciones de Android se desarrollan usando JAVA y se ejecutan en la máquina virtual Dalvik (una pequeña parte usa NDK). Una pequeña parte utiliza NDK).
Android es un sistema operativo completamente nuevo.
Android usa JAVA, que es más fácil de comenzar. Si hay un buen soporte para JAVA Lib, la eficiencia del desarrollo será mayor.
iOS no tiene una máquina virtual ni GC, y su rendimiento es mejor, por supuesto, esta diferencia será cada vez menor a medida que Google mejore.
El marco de desarrollo de iOS es muy maduro y el mismo sistema de conocimiento que MAC se puede utilizar para desarrollar aplicaciones MAC. Android es un marco completamente nuevo y seguirá evolucionando.
iOS y dispositivos están estrechamente integrados. El hardware y el software están integrados por una sola empresa. Pero Android no puede hacer esto y la situación habitual es: Google publica el código fuente. A los fabricantes de chips les lleva entre 1 y 3 meses crear sus propias soluciones de chips. Los fabricantes de teléfonos compran la solución y el código al fabricante del chip y luego realizan ellos mismos el trabajo de integración y personalización, a veces personalizándolo para el operador. Por lo tanto:
iOS tiene la mejor integración de dispositivos y optimización de controladores. Esto es evidente cuando se trata de administración de energía, donde los proveedores de Android son heterogéneos. Quizás los dispositivos emblemáticos de los proveedores de primer nivel sean mejores, pero dado que los dispositivos Android suelen tener tiempos de entrega más cortos que los dispositivos iOS (ver lo rápido que HTC y Samsung lanzan dispositivos), la brecha general con iOS sigue siendo relativamente grande.
Debido a la personalización por parte de varios fabricantes, Android todavía tiene el problema de la división del dispositivo. Como persona que lo ha experimentado, le digo que este es un problema muy problemático, sin mencionar el tiempo de depuración y la mano de obra. , comprar un equipo de pila grande tampoco es pequeño. Lo más importante es que rompe los corazones de los artistas y usuarios.
iOS es un sistema estrictamente controlado por Apple. En la mayoría de los casos, las aplicaciones de terceros no tienen acceso a todas las API. Esto significa que, a nivel del sistema, hay muchas funciones que sólo Apple puede implementar (por ejemplo, realizar llamadas, bloquear SMS). Además, algunas API que involucran la privacidad del usuario harán que el sistema muestre un cuadro de diálogo para preguntarle al usuario. Del mismo modo, los tiempos de ejecución de terceros para el desarrollo de aplicaciones básicamente no son factibles (esta cláusula rechaza Flash). Por otro lado, Android es completamente diferente. En primer lugar, Android es de código abierto. Android está diseñado para permitir el reemplazo gratuito de los componentes del sistema. Android no impone restricciones de API obligatorias (también se pueden llamar API ocultas y nadie se molestará). tú). Los permisos a nivel del sistema se delegan a los fabricantes, siempre que los fabricantes estén dispuestos a concederlos, los desarrolladores externos pueden hacer lo que quieran. La autenticación de permisos para aplicaciones normales también es una autorización única durante la instalación. No acosa a los usuarios después del hecho. Por lo tanto:
La plataforma Android puede hacer mucho más que iOS: puede administrar llamadas telefónicas, libretas de direcciones, administración de SMS y ejecutar sus propios servicios en segundo plano.
Es muy fácil reemplazar componentes del sistema.
La plataforma Android también puede ejecutar el tiempo de ejecución de otros sistemas, como Flash. Con NDK, si desea ejecutar el suyo propio, con NDK puede acceder al suyo. máquina virtual, y a Google le importa un carajo.
Cualquiera puede usar Android y crear su propio sistema independiente, y tal vez eso sea problemático en términos de significado y perspectiva, pero nuevamente, no hay límite para lo que puedes hacer.
La única forma de descargar aplicaciones en iOS es Appstore, y las aplicaciones creadas en línea por los desarrolladores deben ser revisadas y aprobadas por Apple. La única forma de descargar aplicaciones en iOS es Appstore, y los desarrolladores deben pasar la revisión de Apple, e incluso si lo hacen, Apple puede eliminarlas en cualquier momento si se equivocan o llaman a API que no deberían. La gestión es muy estricta. Android, por otro lado, es muy permisivo:
Los fabricantes pueden crear aplicaciones. A menudo hay algún software inexplicable preinstalado en los teléfonos móviles. Cuando trabajaba como fabricante, me di cuenta profundamente de que seleccionar software al azar es algo divertido. Y no dejaremos que lo elimines.
El mercado oficial de Google no realiza revisiones de aplicaciones y los desarrolladores pueden cargar software a voluntad, por lo que este es un mercado libre.
China también tiene un gran mercado de software de terceros. y software de gestión de PC similar a Pea Clip.
Si el usuario elige permitir fuentes desconocidas, no hay ningún problema con la descarga o instalación de software desde la tarjeta de memoria a través de la red. Los usuarios domésticos parecen estar autorizados. Entonces:
Hay una gran cantidad de software excelente en iOS, la competencia es feroz pero está bien administrada y los desarrolladores pueden ganar dinero fácilmente.
Android también tiene software de gran calidad, pero hay más software basura e incluso malware. Como no existen barreras de entrada, estos softwares son básicamente gratuitos y no se pueden vender a ningún precio; la mayoría de ellos dependen de la publicidad;
Android también tiene una gran cantidad de software antivirus, que es el típico espíritu de "no hay dificultad, sólo más dificultad".
Android también tiene un montón de software placebo, como aquellos que te ayudan a ahorrar energía o te ayudan a eliminar procesos en segundo plano para mejorar el rendimiento. Como desarrollador de bajo nivel, el autor se ríe sin decir una palabra.
Si eres un usuario común, cierra esta publicación. Este artículo no es adecuado para usuarios comunes.
Si eres un desarrollador de software individual, iOS es adecuado para ti. El mercado está estandarizado y puedes preocuparte de crear aplicaciones.
Si eres una startup de software y servicios, iOS también es adecuado para ti. Si haces una demostración y el primer producto, el producto es confiable, los usuarios lo están usando y si alguien te da dinero, También es factible hacer Android. A menos que esté creando una aplicación que involucre hardware o requiera permisos de sistema muy altos, en este caso, solo puede elegir Android, porque negociar con proveedores nacionales es definitivamente más fácil que negociar con Apple.
Si usted es una empresa que se dedica a la personalización de hardware y sistemas, su única opción es básicamente Android, y el costo de las soluciones de Android está cayendo.
Si eres una empresa con características chinas que quiere divertirse en el móvil y hacer muchas cosas sin decírselo a los usuarios, Android sería una mejor opción. Entonces Android también es una mejor opción. Incluso si no haces el mal, será más fácil controlarlo con tus propias manos. En cuanto a cómo elegir, no necesito decir más. Ambos son la dirección de desarrollo de la Internet móvil actual, pero uno de código abierto es más fácil de aprender, más rápido de hacer y tiene control absoluto. Si no es de código abierto, solo se puede usar para aplicaciones de capa superior y vivir bien, eso es todo.