Aún estamos en los primeros tiempos de la transición de la era del ordenador personal a la era móvil. En el momento actual Apple está ganando. También hay otros ganadores en este mismo momento — RIM sigue creciendo, y Android ha crecido una barbaridad en el último año.
La plataforma del App Store podría convertirse en una plataforma estándar a largo plazo. Así es como Microsoft llegó a ser Microsoft. Llegados a cierto punto,l los desarrolladores crearon aplicaciones para Windows porque había un gran número de usuarios que utilizaban Windows y los usuarios compraban PCs con Windows porque todo el software se creaba para Windows. Es el tipo de situación que viene a ser como una licencia para imprimir dinero.
No creo que Apple llegue a soñar en tener una cuota del mercado móvil de las proporciones de Windows. El mantra de Microsoft era (y sigue siendo) “Windows everywhere” (Windows en cualquier lugar). Apple no quiere estar en cualquier lugar, quieren estar en cualquier lugar en el que merezca la pena estar. La idea es hacer que las APIs de Cocoa Touch y el App Store lleguen a ser en la práctica un estándar para las aplicaciones móviles — captando una enorme cuota de desarrolladores y usuarios.
De modo que lo que Apple no quiere es que otra empresa establezca una plataforma estándar de software a efectos prácticos sobre Cocoa Touch. Ni Flash, propiedad de Adobe, ni .NET (a través de MonoTouch). Si eso ocurriera, no hay ventaja en utilizar las tecnologías de Apple. Si por ejemplo llegara a establecerse una plataforma de software móvil basada en Flash — que abarcase muchas plataformas de más bajo nivel y que funcionara en iPhone, Android, Windows Phone 7 y BlackBerry — el mercado de esas aplicaciones no le daría a la gente un incentivo para preferir el iPhone.
Y, obviamente, tal metaplataforma estaría fuera del control de Apple. Pensemos en un mundo en el que llegara a ser enormemente popular una herramienta multiplataforma de otra empresa. Entonces Apple añades nuevas funciones de gran relevancia a iPhone OS, y la herramienta de esa otra empresa tarda en incorporar esas nuevas herramientas. Llegados a ese punto, es la otra empresa la que determina el momento en que las aplicaciones de terceros pueden aprovechar esas nuevas funciones.
Por esto, desde el punto de vista de Apple, cambiar el Acuerdo de Licencia de los Desarrolladores del iPhone para prohibir el uso de cosas como Flash CS5 y MonoTouch para la creación de aplicaciones para el iPhone tiene mucho sentido. No estoy diciendo que nos tenga que gustar a la fuerza esta situación. No digo que no estemos hablando de pura competitividad despiadada. Tampoco digo (hasta ahora) que beneficie a otro que no sea Apple. Lo único que digo es que es una buena decisión desde el punto de vista de Apple — y Apple tenía derecho a tomar esa decisión.
Flash CS5 y MonoTouch no son tanto multi-plataforma como meta-plataformas. El objetivo de Adobe no es ayudar a los desarrolladores a crear aplicaciones para el iPhone. El objetivo de Adobe es animar a los desarrolladores a crear aplicaciones Flash que funcionen en el iPhone (y otros dispositivos) en lugar de crear aplicaciones específicas para el iPhone. Apple no es ambigua sobre los objetivos de Adobe a este respecto — a Apple le interesa impedírselo.
Pensemos en cómo afecta este cambio a los diversos actores que participan en la situación:
Apple: Positivamente, mantienen el control absoluto sobre el desarrollo de aplicaciones nativas para iPhone OS.
Adobe y otros creadores de meta-plataformas móviles multi-dispositivo: Tremendamente negativo, porque no pueden crear aplicaciones para la principal plataforma móvil actual. Y han desperdiciado un esfuerzo ingente en crear las herramientas para generar aplicaciones para el iPhone.
Desarrolladores web: Nada ha cambiado. El iPhone sigue estando completamente abierto a las aplicaciones web. La diferencia entre la web, como competencia para las aplicaciones nativas para el iPhone, y algo como Flash es que la web no está bajo el control de nadie. No hay una empresa encargada de suministrar la plataforma con la que funciona la web — y Apple tiene el control absoluto de WebKit, su implementación para la web.
Desarrolladores de iPhone: Nada ha cambiado. Si eres un desarrollador y has hecho caso a los consejos de Apple, ni siquiera notarás la entrada en vigor de esta nueva norma. Ya estás usando Xcode, Objective-C y WebKit. Si eres un desarrollador de iPhone y no has seguido los consejos de Apple, tarde o temprano acabarás mal parado. Si te oponer por principios a desarrollar software para una plataforma que exige que sigas los consejos de su proveedor, iPhone OS no es tu plataforma, nunca lo fue y nunca lo será.
(Y en cierto modo este cambio es positivo para los actuales desarrolladores de iPhone: ahora tendrán aún más demanda que antes).
Desarrolladores de Flash y C#: Malas noticias, si esperabais vender vuestras aplicaciones en el App Store. Si queréis crear software para iPhone OS, seguid el consejo de Apple, no el de Adobe o Microsoft.
Usuarios de iPhone: Me imagino dos argumentos en este caso. Por una parte, esta nueva norma debería ser positiva para aumentar la calidad de las aplicaciones. Los kits de desarrollo de aplicaciones multiplataforma nunca — nunca — han dado lugar a aplicaciones nativas de alta calidad en plataformas de Apple. Ni para el Mac OS clásico, ni para Mac OS X ni tampoco para iPhone OS. En general, tales aplicaciones suelen ser cutres. Por otra parte, quizá los usuarios de iPhone se pierdan buenas aplicaciones que habrían sido publicadas de no ser por la existencia de esta norma. Eso sí, no creo que los usuarios de iPhone OS vayan a echar de menos el tipo de aplicaciones que salen de estos kits de desarrollo multiplataforma.
Mi opinión es que los usuarios de iPhone se beneficiarán de esta norma. El App Store no sufre escasez de títulos.
Consideremos, por ejemplo, los clientes de Kindle para iPhone OS y Mac OS X. El cliente Kindle para iPhone OS es excelente, un digno rival en términos de experiencia de uso para el propio iBooks de Apple. La aplicacion Kindle para Mac es un zurullo que no parece ni se comporta como una auténtica aplicación de Mac. La aplicación Kindle para iPhone OS es una aplicación nativa para el iPhone, escrita en Cocoa Touch. La aplicación Kindle para Mac fue creada con el kit de desarrollo multiplataforma Qt.