¿Es mejor aprender IOS o Android?
iOS y Android, dos arquitecturas de desarrollo diferentes, una cerrada y otra abierta, son las montañas que todo desarrollador no puede evitar. Durante el proceso de desarrollo, también sentimos los detalles.
1. Comparación de entornos de desarrollo
En primer lugar, ambos muestran grandes diferencias en la configuración del entorno de desarrollo.
1. Proceso de configuración
El entorno de desarrollo de iOS es muy perfecto. Después de descargar el Xcode oficial, puede instalarlo directamente y luego puede desarrollarlo para Android. Primero descargue el entorno Java, luego vaya a Windows para configurar el entorno, luego descargue el entorno eclipse y realice varias operaciones de configuración complejas en él para configurar el entorno de desarrollo. Por supuesto, en 2013, Google finalmente lanzó la herramienta de desarrollo Android Studio, que puede acortar el proceso de configuración, pero nuestra tecnología me dijo que la corriente principal actual todavía está dominada por eclipses complejos y que Android Studio aún no es popular.
Desde el proceso de configuración, iOS es sencillo, mientras que Android es sumamente complejo.
2. Adaptabilidad multiplataforma
El entorno de desarrollo de Apple es extremadamente dominante. Debe utilizar el sistema OS X de una computadora Mac para desarrollar iOS, pero Windows no puede desarrollar iOS. a menos que use una máquina virtual, pero cuando realmente desarrolla iOS, es imposible usar una máquina virtual para construir OS X para el desarrollo. Esto será extremadamente lento y no podrá desarrollar ningún programa grande.
Aunque Android es complicado de instalar, tiene buena adaptabilidad y se puede desarrollar no sólo en Windows, sino también en sistemas Mac y Linux sin ningún problema.
En términos de adaptabilidad multiplataforma, Apple es más como un árbol que crece por sí mismo, mientras que Android es como musgo que puede crecer en cualquier plataforma. Así como Windows en el pasado podía instalarse en cualquier PC, Android gana.
3. Depuración de dispositivos reales
Android es muy superior a Apple en la depuración de dispositivos reales. Los desarrolladores de Android solo necesitan activar el interruptor de depuración y luego pueden depurar el teléfono. Pero iOS es diferente, iOS requiere un certificado, un archivo de descripción, una ID de Apple y una cuenta de desarrollador. La depuración lleva mucho tiempo. Si está interesado, puede leerlo.
Este paso sigue siendo la victoria de Android.
Resumen:
En la comparación de entornos de desarrollo, Apple ha mostrado una actitud dura: "Usa solo el mío", mientras que Android ha mostrado una gran adaptabilidad y sigue la tendencia. Por supuesto, esto no es un gran problema para los desarrolladores, pero por un lado vemos las diferentes culturas de las dos empresas. Apple es más egocéntrica y Google es más abierta.
En segundo lugar, problemas con el mecanismo de empuje
Dado que también estamos iniciando un negocio por primera vez y la estructura de la aplicación en sí no es particularmente compleja, comenzamos a tomar muchas cosas por concedidos y no los consideramos en el diseño estructural del mecanismo Push de la APLICACIÓN, por lo que siempre dejamos que el programa realice una conexión de latido al principio y actualice los datos realizando solicitudes constantemente al servidor.
No teníamos experiencia al principio, por lo que le pedimos directamente a nuestra aplicación que hiciera latidos para solicitar información del servidor. Este envío continuo de solicitudes no solo consume mucha energía, sino que también consume mucha red. tráfico. . Luego nos dimos cuenta del problema y comenzamos a trabajar en un mecanismo de inserción de terceros.
Para el envío de terceros, estudiamos el GCM oficial de Google, los APN de Apple, Baidu Cloud Push, Personal Push y Aurora Push. Finalmente elegimos Baidu Cloud Push como plataforma unificada. La razón es el mecanismo "*** push" de Baidu. Siempre que el usuario instale cualquier aplicación de Baidu y utilice una aplicación con Baidu Cloud Push, Baidu proporcionará un servicio de inserción unificado sin la necesidad de una aplicación separada para realizar operaciones de latido. Necesito entregárselo al departamento de Baidu.
Para iOS, no es necesario estudiar los APN en segundo plano para realizar una inserción unificada.
Resumen:
En cuanto al tema de la inserción, dado que los mecanismos de inserción de iOS y Android son independientes, los desarrolladores prefieren tener una plataforma de inserción unificada para gestionar los dos. Al mismo tiempo, IOS y Android no están acostumbrados al impulso interno, lo que también brinda oportunidades de impulso a terceros, y el impulso de terceros simplemente aprovecha esta oportunidad.
3. Problemas de adaptación de tamaño y versión
Aunque la depuración real de la máquina de Apple es más complicada, solo hay dos tamaños de modelos a los que Apple necesita adaptarse, 3,5 y 4,0 pulgadas, y La tasa de actualización de la versión de iOS es mucho mayor que la de Android, por lo que en términos de adaptación, iOS tiene ventajas obvias. En la conferencia de prensa, Cook también utilizó la tasa de actualización del sistema para atacar a Android. Realmente no le fue bien en esta área.
Según las estadísticas, en octubre del año pasado, la tasa de actualización de iOS 7 fue de 73. Según las estadísticas de mayo del año pasado, aunque Android ya había sido lanzado a la versión 4.X, la versión 2.X El mercado todavía ocupa el 39% del mercado, por lo que nos resulta muy doloroso adaptarnos a Android.
Hablemos primero del tema del tamaño. La adaptación de Android necesita adaptarse a teléfonos móviles con varias resoluciones al mismo tiempo, desde 240*320 hasta 1280*800. Los más comunes tienen más de una docena de resoluciones. eso hay que adaptarlo, y lo más terrible es el problema de control. Después de la experiencia de varios de los primeros desarrolladores de iOS y la atención de Apple, Apple ya ha creado controles oficiales, los programadores de iOS solo necesitan llamarlos directamente, pero los controles creados por Android son complicados y necesitan ir a github, etc. Los proyectos correspondientes en el sitio web de código abierto, y luego reescribí el código yo mismo para adaptarlo. Sin embargo, al final, cuando estos controles completos se colocaron en modelos con diferentes resoluciones, excederían el rango de la pantalla, o serían demasiado pequeños, etc. y eran completamente incompatibles, es necesario ajustarlos uno por uno, lo cual es muy doloroso.
Además, hablemos de las pruebas en la nube en máquinas reales. Para las aplicaciones que requieren iniciar sesión en una cuenta, las pruebas en la nube son completamente inútiles. ¡Solo puede probarlas usted mismo en cada teléfono móvil!
Hablemos del tema de la adaptación del modelo. De hecho, todavía es una cuestión de adaptación de la versión. Tan pronto como nuestra versión de Android se envió a la tienda de aplicaciones, muchos usuarios se quejaron de que no podían. registrarse Más tarde, descubrieron que la interfaz API para llamar al avatar era demasiado nueva y no podía adaptarse a la versión anterior. Luego fuimos al mercado de teléfonos móviles antiguos y gastamos 150 yuanes allí para probar el teléfono móvil y fabricarlo. cambios y finalmente resolvió el problema. Pero después del segundo envío, alguien se quejó del problema de no poder abrir. Más tarde descubrimos que era un problema de análisis del formato json causado por una versión anterior, y luego lo probamos durante mucho tiempo...
Es amargo, pero hay empresas aún más amargas. Hasta donde yo sé, la empresa que fabrica básculas electrónicas inteligentes se llama PICOOC. Dado que la báscula electrónica necesita una adaptación de Bluetooth, debe probarse con una máquina real. Una vez usé el teléfono móvil coreano de un usuario. No era compatible y tuve que comprar un teléfono móvil coreano para hacerlo. Los usuarios con versiones similares de bajo nivel tuvieron que probarlo uno por uno. Simplemente adapté el Bluetooth del sistema Xiaomi 3, y el resultado fue que el sistema oficial Xiaomi Después de la actualización, el canal Bluetooth original era incorrecto y fue necesario usar el teléfono móvil para reescribir el código para la adaptación selectiva del sistema actualizado. y el sistema que no se actualizó Al final, el usuario volvió a quejarse...
Resumen:
En el tema de la adaptación, iOS permite a los desarrolladores sentir el encanto de iOS. . Al mismo tiempo, en términos de versión y tamaño, la desordenada ecología de los teléfonos Android obliga a los desarrolladores a elegir sólo modelos convencionales para satisfacer sus necesidades sin tener en cuenta necesidades más marginales. En cuanto a la adaptación, iOS ha obtenido una gran victoria.
Cuatro. Envío a la tienda de aplicaciones
Acerca del envío a la tienda de aplicaciones es otra cosa que hay que decir. Dado que Android es un ecosistema abierto, la tienda de aplicaciones natural también es abierta y caótica. En cuanto al entorno ecológico, a excepción de los grandes jugadores como Baidu, 360, Wandoujia, Tencent y Anzhi, no se pueden elogiar otros mercados de aplicaciones. Específicamente, escribí un artículo para echar un vistazo a la estructura del mercado a partir de la presentación de aplicaciones de Android. , así que no diré más.
Hablemos de iOS. El envío de iOS es muy complicado. Requiere ID de aplicación, certificado de emisión, archivo de configuración, configuración de generación, destino de implementación... El proceso es extremadamente complicado y largo. Pero después de someternos, sentimos una completa sensación de conquista.
Resumen:
En términos de envío de aplicaciones, aunque el envío de iOS es extremadamente problemático, siempre que lo hagas una vez, puedes hacerlo de una vez por todas. diferente debido a su súper ecosistema abierto y caótico, causando todo tipo de problemas en nuestra presentación.
Conclusión
Finalmente suspiré de emoción de haber comparado tanto. Creemos que las ventajas de Apple como producto integrado radican en la adaptación, el impulso y la sumisión, mientras que las ventajas de Android residen en la diversificación ecológica y multiplataforma. Pero no importa si son buenas o malas, lo más difícil es para las startups, ya sea iOS o Android.