Las aplicaciones web para el iPhone como alternativa al App Store

Peter-Paul Koch (un veterano y reputado experto en estándares para la web y compatibilidad entre distintos motores de renderizado para la web), plantea de forma enérgica que los desarrolladores que deseen crear software para el iPhone deberían pasar por alto el App Store y diseñar aplicaciones web optimizadas para el iPhone. Su ensayo parece haber polarizado las opiniones de los lectores, quizás a causa de su lenguaje ácido. La verdad, como suele ocurrir, está cerca del término medio.

Su artículo es totalmente recomendable, y su principal argumento es cierto:

Para poder publicar una aplicación para el iPhone sin tener que someterse al absurdo proceso del App Store, los programadores podrían simplemente usar tecnologías web y crear así aplicaciones web, en lugar de aplicaciones nativas.

Las aplicaciones web para el iPhone no están restringidas en absoluto por Apple. Además, creo que tiene razón en que esta técnica está actualmente infrautilizada, y los desarrolladores tienen una gran ventaja: tales aplicaciones deberían funcionar igual de bien en Android y WebOS, con una cantidad mínima de trabajo extra.

Pero sin embargo está muy equivocado sobre lo que se puede hacer con una aplicación web para el iPhone, en términos de experiencia del usuario. Koch escribe lo siguiente:

He revisado las aplicaciones que tengo en el iPhone, y la mayoría de ellas se podría publicar hoy mismo como una aplicación web. Las excepciones son juegos que contienen una programación compleja y gran cantidad de gráficos, y las aplicaciones que dependen de funciones exclusivas del dispositivo, como el acelerómetro o el GPS.

Como dije, Safari permite la geolocalización, y quizás Apple está trabajando en más APIs para el dispositivo. Algo así solucionaría todos los problemas de la segunda categoría. Los juegos complejos seguirán siendo demasiado complicados para publicar como una aplicación web en un futuro próximo.

Aún así, los juegos con gráficos sencillos como el sudoku y el ajedréz chess, las listas interactivas de la compra, los diccionarios y las aplicaciones de lectura de la biblia, las aplicaciones con imágenes de una jarra de cerveza, la aplicación de Yahoo con información del clima, y, aún más importante, todos los clientes de redes sociales podrían haberse creado como aplicaciones web sin ninguna pérdida de calidad. (En cualquier caso, la mayoría tienen bastante poca calidad de por sí).

No se mucho sobre “clientes de redes sociales” en general, porque no uso muchas redes sociales. Sí hay dos de ellas que utilizo constantemente: Twitter y Flickr.

No existe forma de crear una aplicación web para el iPhone que funcione igual de bien o que proporcione la misma sensación que cualquiera de los clientes nativos de Twitter para el iPhone. Se puede crear un cliente de Twitter para el iPhone en la forma de una aplicación web. Incluso se puede crear un cliente de calidad. De hecho, Dean Robinson lo consiguió — se llama Hahlo. Es un bueno cliente de Twitter para el iPhone. Es una aplicación web. También es más lenta, menos elegante, y menos útil que cualquiera de los principales clientes nativos de Twitter para el iPhone.

Con Flickr resulta aún peor. Sólo para ver contenido en Flickr ya existente, el propio subdominio m.flickr.com creado por Flickr es estupendo. Pero no se puedee crear un cliente de Flickr como aplicación web para el iPhone que te permita subir fotos o vídeos. No resulta técnicamente posible, porque las aplicaciones web en el iPhone no tienen acceso a la biblioteca de imágenes del dispositivo o a la cámara.

El argumento de que se pueden crear aplicaciones web para el iPhone que sean “suficientemente buenas” no capta en absoluto la razón de que haya aplicaciones para el iPhone — incluso la razón de ser del propio iPhone —, lo que lleva a los usuarios de Twitter a pagar 3, 4 o 5 dólares por aplicaciones que hacen lo mismo que se puede hacer abriendo el sitio web de Twitter con MobileSafari. “Suficientemente buenas” no es suficiente en el iPhone.

Un aspecto importante de la situación actual es el ejemplo dado por Apple. Las aplicaciones creadas por la empresa para el iPhone están programadas con Cocoa Touch. La única aplicación web creada por Apple que se me ocurre es el lector RSS existente en reader.mac.com, y ya el nombre de dominio da una idea de la importancia que Apple concede a la aplicación.

Koch escribe lo siguiente (las absurdas mayúsculas de tinte religioso en los poronombres son suyas):

El plan inicial de Apple para el desarrollo de aplicaciones para el iPhone era usar tecnologías web. Este plan cogió por sorpresa tanto a desarrolladores de Mac como a desarrolladores web, porque fue una decisión totalmente inesperada.

El plan no tuvo éxito. El propio Jobs ordenó a Sus programadores que crearan aplicaciones web empleando los estándares existentes, pero aquello sólo produjo un silencio ensordecedor. Fue entonces cuando Él ideó apresuradamente el App Store. Resultó ser demasiado apresurado.

No puedo demostrar que esto sea falso. Pero siempre he tenido la teoría de que la “solución ideal” que Apple planteó al principio para la creación de aplicaciones para el iPhone — crear aplicaciones web — en ningún momento se pretendió que fuera una solución a largo plazo. Creo que el plan siempre fuera permitir tarde o temprano la creación de aplicaciones nativas con Cocoa Touch, y no creo que lo que se hizo al respecto fuera para nada apresurado. El retraso entre el debut del iPhone original y la presentación del kit de desarrollo fue, creo yo, sencillamente debido a que el kit no estaba terminado en Junio de 2007. Todo aquel que siguió el desarrollo para el iPhone OS 1.x jailbreak pudo ver que las APIs de Cocoa Touch cambiaron de forma significativa entre el iPhone OS 1.0 y el 2.0.

Pero la mejor prueba que hay es lo que mencionaba más arriba: Apple prácticamente no creó ninguna aplicación web para el iPhone. Los desarrolladores de éxito que crean aplicaciones para el iPhone no quieren limitarse a crear software que funcione en el iPhone. Quieren crear software para el iPhone que sea tan bueno como el que crea Apple. Hoy día eso supone utilizar Cocoa Touch y el kit de desarrollo nativo.

Cuando se crea una aplicación para el iPhone con Cocoa Touch, no se parte de cero. Se parte de la plataforma de Cocoa Touch. Faruk Ate? escribe en su perspicaz respuesta a Koch que ignorar la plataforma equivale a ignorar todo lo que diferencia al iPhone como plataforma de desarrollo. Las aplicaciones nativas para el iPhone no sólo son más rápidas y capaces que sus aplicaciones web homólogas, sino que además son más fáciles de crear.

Esta circunstancia podría cambiar. Una combinación de mayor potencia de procesador, más mejoras a WebKit y el intérprete de JavaScript Nitro, más memoria RAM y nuevas funciones para aplicaciones web en el sistema operativo del iPhone (cosas como tener acceso a la cámara y a la biblioteca de imágenes) podrían, de forma combinada, dar pie a un futuro en el que algunos tipos de aplicaciones web para el iPhone no sean sólo “suficientemente buenas” sino que sean verdaderamente imposibles de distinguir de aplicaciones nativas creadas en Cocoa Touch. Las mejoras en el rendimiento del hardware son algo inevitable, pero aún está por ver si Apple ofrecerá funciones de mayor calado específicas del sistema operativo del iPhone para que las usen aplicaciones web. Espero que lo hagan. Creo que sería positivo para todos — Apple, los desarrolladores y los usuarios del iPhone — que las aplicaciones web no sometidas a restricciones sean una alternativa real al App Store, que sí impone restricciones. Lo que no resulta creíble es afirmar que ya lo son.

Incluso si así fuera el caso, las aplicaciones web optimizadas para el iPhone creadas en este hipotético futuro seguirían careciendo de las características comerciales que aporta el App Store. Los desarrolladores de aplicaciones web puede cobrar suscripciones a su software, desde luego — pero sería difícil igualar al App Store en términos de la experiencia de usuario que supone su funcionamiento: “haz clic en ’Comprar’ y escribe tu contraseña de iTunes”.