iOS es el sistema operativo basado en Linux, utilizado por Apple en sus dispositivos móviles: iPhone, iPod Touch, iPad y Apple TV. Originalmente se denominó iPhone OS y fue una adaptación del Mac OS X. Apple lanzó iPhone OS en de 2007 y fue en junio de 2010 cuando pasó a denominarse oficialmente iOS aprovechando el lanzamiento del iPhone 4Recientemente se ha lanzado la versión 6 que incluye más de 200 nuevas funcionalidades (no siempre con éxito) como los nuevos mapas de Apple, el ayudante inteligente Siri, la integración total con Facebook, etc.
iPhone SDK, el kit de desarrollo de software para iOS, utiliza Xcode como entorno de desarrollo integrado. Las aplicaciones están escritas en lenguaje de programación Objective-C. El SDK de iPhone dispone de un potente editor gráfico que permite construir las pantallas de forma visual, enlazando elementos a golpe de ratón. El SDK también incluye un simulador para probar las aplicaciones.
De la experiencia obtenida en nuestros desarrollos en iOS, podemos extraer que sus puntos fuertes son:
- Facilidad para construir el interfaz gráfico.
- Número pequeño de dispositivos de pruebas. El software se desarrolla para dispositivos concretos fabricados por un único fabricante.
- Propiedad de una de las más grandes compañías del sector Apple.
- Buena gestión de la memoria del dispositivo.
También podemos extraer que sus puntos débiles son:
- Dificultad de adaptación de profesionales J2EE o .NET, al ser un lenguaje y estructuración de la información muy diferente.
- Incompatibilidad entre versiones: dificultad para cubrir distintas versiones de los dispositivos, ya que en algunos casos no se respeta la compatibilidad de manera retroactiva (entre antiguas y nuevas versiones).
- Control de versiones del Xcode muy complejo de usar.
- Mercado cerrado a un sólo fabricante de Hardware.
- Dificultad para distribuir las aplicaciones a testers.
- Limitaciones en el uso de la multitarea, restringido a ciertas APIs, lo que origina que las aplicaciones ajenas al Sistema Operativo queden congeladas en segundo plano, por ejemplo:
- Audio en segundo plano
- Voz IP
- Localización en segundo plano
- Notificaciones push
- Notificaciones locales
- Completado de tareas
- Cambio rápido de aplicaciones
Desde nuestro punto de vista iOS es un producto maduro diseñado para un único hardware, esto en principio aporta muchas ventajas a la hora de desarrollar.
Actualmente los sistemas operativos de la competencia han alcanzado y superado muchas de las prestaciones y funcionalidades de Apple, debido sobre todo a que las empresas de la competencia han apostado por el Código Abierto y su comunidad de desarrolladores y testers es muy superior en número.
A pesar de ello, lo que no se le puede negar a la compañía de la manzana es que, como en la mayoría de las ocasiones, con su versiones iniciales, iOS revolucionó el mundo de los dispositivos móviles tal y como lo conocíamos hasta entonces.