Los puntos de Sandy Khaund son ciertos, pero agregaría algunas cosas más:
- Al programar, hay un ciclo simple: arreglas algo, construyes tu proyecto, lo ejecutas, encuentras algo que está mal y arreglas lo siguiente. El Simulador de iPhone en el que prueba sus aplicaciones carga una versión revisada de su aplicación mucho más rápido que el emulador de Android, para que pueda trabajar más rápidamente. Durante meses de desarrollo, la diferencia puede sumar, especialmente si las pausas del emulador de Android tienden a convertirse en pausas en Facebook.
- La documentación de Apple es mejor para poner en marcha a los principiantes. La mayoría de los sistemas tienen “guías de programación”, libros de programación en miniatura que explican cómo usar ese sistema sin atascarse en los detalles. Los más largos, como el lenguaje de programación The Objective-C de longitud de libro, están realmente disponibles en el iBookstore.
- Cocoa Touch está diseñado de tal manera que escribes muy poco código, excepto las cosas que son personalizadas para tu aplicación. Podrías escribir una aplicación simple de lista de tareas con un par de cientos de líneas de código, dos imágenes de casillas de verificación y dos íconos, y encajaría perfectamente. De hecho, si no hicieras ningún trabajo de diseño personalizado, se vería al igual que la libreta de direcciones. * Las API de Android no manejan casi todo el trabajo, y el aspecto predeterminado es bastante feo.
- Apple proporciona excelentes herramientas para analizar el rendimiento de una aplicación: averiguar qué partes son lentas o utilizar muchos recursos para que pueda mejorarlas. Las herramientas de rendimiento de Android son más difíciles de usar y no revelan tanta información como la de Apple.
- Los juegos tienen que ser ajustados para diferentes chips. No solo hay menos dispositivos iOS, sino que comparten chips comunes, básicamente hay un conjunto de agallas de dispositivos iOS cada año. Eso significa que los desarrolladores de juegos solo deben preocuparse por unos pocos dispositivos para llegar al 90% de los jugadores. Por el contrario, llegar a la mayoría de los dispositivos Android es muy difícil: cuando Angry Birds se lanzó por primera vez para Android, recibieron quejas de que no funcionaba en diecisiete modelos de teléfonos populares.
- Los usuarios de iOS también actualizan su sistema operativo antes que los usuarios de Android. ** iOS 5 y Android 2.3 se ejecutan en aproximadamente el mismo porcentaje de dispositivos iPhone / Android, pero iOS 5 tiene dos meses y Android 2.3 tiene más de un año. Las nuevas versiones del sistema operativo traen herramientas que hacen que los programadores sean más productivos, y el soporte de múltiples versiones puede obligarlo a escribir soluciones alternativas para errores antiguos. Debido a que los usuarios de iOS están más actualizados, los desarrolladores de iOS pueden usar más de esas herramientas y evitar menos errores.
* Las aplicaciones de listas de tareas reales requieren más que eso porque tienen más funciones: se sincronizan a través de la red, crean automáticamente elementos en un horario, le permiten clasificar y organizar elementos de varias maneras, y hacer todo tipo de otras cosas ordenadas. Muchas de las aplicaciones también personalizan el aspecto para que sea más hermoso que una aplicación estándar de iOS. Pero en todos los casos, el código se está escribiendo para hacer cosas personalizadas para esa aplicación, no se trata solo de lograr cosas comunes.
** Esto no es porque los usuarios sean flojos o algo así. El problema son los fabricantes y los operadores: una vez que sale una nueva versión de Android, cada fabricante tiene que ajustarlo para cada modelo que venden, y luego cada operador tiene que aprobarlo. Muchos fabricantes simplemente no ofrecen actualizaciones para dispositivos antiguos, y algunos de ellos consideran un dispositivo “antiguo” después de seis meses. Por el contrario, Apple es la única compañía involucrada en el lanzamiento de una actualización de iOS, y tienen suficiente experiencia con su negocio de computadoras para darse cuenta de que realmente necesitan mantener actualizados los dispositivos antiguos.