La evolución de los dispositivos móviles en los últimos años es un claro ejemplo de la guerra de sistemas operativos móviles que vivimos hoy. En efecto, la evolución de las tecnologías está directamente ligada a la adopción masiva de la misma. Las innovaciones tecnológicas no suelen tener un éxito asegurado. Por lo general, necesitan una maduración de los aspectos técnicos, económicos y sociológicos. Esta maduración se ha conseguido con los dispositivos móviles en los últimos diez años. Como resultado, ha cambiado la forma de pensar de la gente.
Antes una persona con teléfono móvil de última generación, o era un “geek” o tenía dinero; Sin embargo, ahora una persona sin teléfono móvil con Internet o sin cuenta en Facebook nos resulta extraño. Esta adopción masiva de las nuevas tecnologías generan un efecto de “el pez que se muerde la cola”, ya que al haber mayor demanda hay una mayor oferta y conlleva al incremento de la producción y de la investigación de nuevas tecnologías con el fin de diferenciarse en el mercado.
Apple: el pionero indiscutible
Por supuesto, el líder y pionero indiscutible en estos cambios es Apple con su iPhone. En consecuencia, todos los fabricantes se han subido al tren de la guerra de Sistemas Operativos para móviles. En mi opinión, esta guerra acaba de empezar.
El panorama de los sistemas operativos móviles
Ciertamente, existen miles de opiniones y especulaciones sobre quién liderará el mercado de dispositivos móviles en el futuro. No obstante, en este artículo no me basaré en especulaciones. Por el contrario, trataré de ser realista con datos estadísticos hasta la fecha. También analizaré las ventajas de cada Sistema Operativo desde el punto de vista del desarrollador.
Evolución venta SmartPhones 2009 – 2010
Fuente Gartner Nov 2010

En el gráfico anterior podemos observar datos reales de ventas mundiales de SmartPhones en la guerra de sistemas operativos móviles por Sistema Operativo durante el 2009 y 2010 con el fin de que los lectores del artículo puedan obtener sus propias conclusiones. Sin duda, lo más llamativo del gráfico es el crecimiento de ventas de Android del 2009 al 2010, superando a iOS. Además, las ventas de Windows Mobile van decreciendo. Symbian OS, en cambio, tiene cifras altas. Esto se debe a que es el Sistema Operativo de Nokia, Sony-Ericsson, Panasonic y Siemens. No obstante, Nokia ha anunciado un acuerdo con Microsoft. Sus dispositivos de alta gama llevarán Windows Phone 7. Por lo tanto, Symbian OS irá desapareciendo en los dispositivos de gama media y baja.
Ventajas y desventajas de cada sistema operativo móvil
A continuación, quiero analizar las ventajas y desventajas de cada Sistema Operativo desde el punto de vista del desarrollador. Obviamente, estas opiniones se basan en mi experiencia personal. Pueden cambiar según el conocimiento de cada lenguaje de programación.
iOS: calidad y ecosistema cerrado
En cuanto al iOS, no he tenido la oportunidad de desarrollar para iPhone. Esto se debe a que no dispongo de un iPhone, un MAC ni una cuenta de desarrollador de Apple. Estos son requisitos fundamentales para crear aplicaciones para iPhone/iPad. El éxito de este Sistema Operativo se fundamenta en la experiencia de usuario. Apple impone directrices estrictas a la hora de subir aplicaciones al AppleStore. Respecto al entorno de desarrollo, iOS utiliza el framework Cocoa Touch construido en Objective-C. Este lenguaje requiere experiencia en programación C y buen manejo de punteros y memoria. Por ello, resulta complicado para desarrolladores sin experiencia. Por otro lado, Apple ofrece XCode. Esta herramienta permite crear interfaces espectaculares de forma relativamente sencilla.
Android: código abierto y expansión
Por su parte, Android viene pisando fuerte este último año en la guerra de sistemas operativos móviles. El Sistema Operativo de Google se basa en una filosofía de código abierto sobre Linux. Su éxito se basa principalmente en la sencillez para desarrollar aplicaciones. El framework, construido en Java, resulta muy intuitivo y abstrae las funcionalidades nativas de los dispositivos. Sin embargo, el principal problema de Android es su poca flexibilidad al diseñar interfaces. Estas interfaces deben crearse a mano mediante XML y en tiempo de ejecución con las librerías de Android. No obstante, Android tiene un puesto asegurado entre los líderes. Los fabricantes se ahorran costes al no desarrollar sus propios Sistemas Operativos. Además, Android es multitarea y está integrado con los servicios de Google como Gmail y GoogleMaps. Esto ofrece muchas ventajas para el usuario final.
Microsoft: el veterano contraataca
En tercer lugar, Microsoft es el más veterano con su Windows Mobile. Aún así, no ha logrado la penetración de Apple con iOS. Por ello, este año llega Windows Phone 7, que soporta HTML5 y es multitarea. También viene integrado con Microsoft Office, lo cual añade valor para los usuarios finales. Además, una de sus armas secretas será la integración con la XBox Kinect y todos sus servicios. De esta manera, se podrá interactuar con la consola desde el móvil.
En cuanto al entorno de desarrollo, opino que es el mejor logrado. Su facilidad a nivel gráfico permite diseñar interfaces con animaciones en minutos usando Expression Blend. Incluye novedades como pantallas panorámicas y parallax scrolling. En cambio, esta misma interfaz llevaría más de un día en Android.
Respecto al lenguaje, se programa en C-sharp. La desventaja es que no se puede modificar la interfaz del Sistema Operativo. Tampoco se accede a los métodos nativos directamente, sino a través de unas clases llamadas Choosers. Por ejemplo, las notificaciones se realizan mediante un push desde un servicio de Microsoft. De este modo, Microsoft consigue homogeneidad en todas sus aplicaciones. Para el desarrollo de juegos para móviles, Microsoft ha hecho un excelente trabajo con sus plataformas XNA 2D y XNA 3D directamente pensadas para el desarrollo de videojuegos con el que podremos desarrollar nuestro propio “Angry Birds”en apenas unas horas mediante sus Starter kits.
Otros sistemas operativos y J2ME
El resto de Sistemas Operativos, como RIM, Symbian, etc. usan el lenguaje de programación J2ME. Con este lenguaje de programación ocurrirá lo mismo que ha ocurrido con COBOL y los Bancos, los cuales tienen todos sus sistemas desarrollados en un lenguaje de programación antiguo basado en COBOL debido a que cambiar todos sus sistemas a nuevas tecnologías supondría un coste gigantesco e innecesario y este hecho ha conseguido que el COBOL siga vivo, y que incluso se haya perfeccionado el lenguaje llegando a convertirse en un lenguaje orientado a objetos. El hecho de que J2ME está presente en la mayoría de dispositivos móviles de gama media y baja, supondrá que la gente siga desarrollando en dicho lenguaje y que incluso siga evolucionando pero en un segundo plano.
Conclusión y recomendaciones
En conclusión, como he comentado a lo largo de este artículo, los dispositivos móviles han comenzado su transformación en entornos de ejecución abiertos, acortando la distancia que los separa de los PCs. En un futuro próximo, esta tendencia se acentuará, aunque todavía está por decidir quién va a ganar esta guerra de sistemas operativos móviles para móviles que acaba de empezar. iOS ha conseguido una importante cuota de mercado y se encuentra muy bien posicionado en la batalla. Por su parte, el éxito de Android dependerá de la creatividad de los dispositivos que se construyan sobre él. De hecho, el diseño en Android es mucho más claro y limpio que en otras plataformas más antiguas como Symbian.
Sin duda, esto es un reto para Microsoft y sobre todo para Symbian. Ambas plataformas vienen luchando por lograr que los desarrolladores trabajen con sus APIs nativas, que resultan bastante complicadas. No obstante, nadie puede contradecir el poder que tiene Microsoft en el mercado. En consecuencia, el camino de esta batalla puede cambiar a golpe de armas secretas, como el acuerdo entre Microsoft y Nokia, que supone la perdición de Symbian. Además, Microsoft podría imponer su SO a base de talonario. Al usuario final le resulta indiferente, ya que estaría satisfecho de poder interactuar con aplicaciones que usa y conoce de su PC, como el pack de Office o Hotmail.
Por otro lado, la plataforma J2ME destaca por su independencia del hardware y por los escasos recursos que necesita. De esta manera, es probable que se convierta en la plataforma estándar de los dispositivos de gama media y baja.
Mi recomendación como desarrollador
Si eres emprendedor y/o desarrollador, seguramente te estás haciendo las preguntas que todos hemos hecho: ¿en qué plataforma desarrollo? Incluso viendo las cuotas de mercado y conociendo tu público objetivo, la respuesta no es sencilla. Por lo tanto, mi recomendación es que desarrolles tus aplicaciones en Android e iOS. Si te interesa profundizar en el tema de monetización móvil, te invito a leer mis otros artículos. Además, si tienes tiempo, te recomiendo que pruebes también en WP7, por si acaso el mercado gira bruscamente como suele ocurrir en estas batallas.




