¡Este **Steve Jobs** es un bandido! Mira que decir que si quieres saltarte la **App Store** lo único que tienes que hacer es programar en HTML5. ¿A qué se refiere, a hacer una página web? **No exactamente**. Desde tiempo inmemorial —bueno, desde la versión 2.2.1 del sistema— **Safari Mobile** soporta una serie de etiquetas *meta* en la cabecera de un documento HTML para adaptar su contenido al dispositivo móvil. La más conocida es `viewport`, que se suele utilizar para establecer el ancho del documento y, por ende, el nivel de *zoom* con el que lo representará Safari. Pero hay más *tags* de este tipo, y unidas a algunas de las utilidades menos conocidas de HTML5 **podemos llegar a desarrollar una aplicación casi indistinguible de una nativa**.

La palabra clave en este caso sería *casi*, porque como es evidente, hay algunos de los recursos del dispositivo que no podremos utilizar, como por ejemplo el acelerómetro, la agenda o la capacidad de hacer llamadas. No es por ser paranoico, pero desde el punto de vista de la seguridad, **prefiero que esas APIs no estén expuestas a cualquier JavaScript que corra en mi iPhone**. Sin embargo, y con un poco de creatividad, [podemos crear aplicaciones](http://sixrevisions.com/web-development/html5-iphone-app/) que utilicen **audio y vídeo, animaciones avanzadas, almacenamiento local, geolocalización e incluso bases de datos**, que funcionen aún cuando el usuario no esté conectado a internet y se integren de forma transparente en la *experiencia iPhone*.

La mejor parte es que **la inmensa mayoría del desarrollo se hace de acuerdo con los estándares**, exactamente igual que cualquier otra aplicación HTML5. Los únicos elementos propietarios son unas cuantas etiquetas `meta` al principio del documento:







Mi Aplicación

¡Hola, Mundo!

En este ejemplo utilizamos todas las etiquetas necesarias para que nuestra aplicación se comporte como una aplicación nativa: **tendrá su propio icono, su pantalla de inicio, y podemos establecer el aspecto de la barra de estado**. Incluso si queremos utilizar el *look and feel* nativo del **iOS**, Apple pone a nuestra disposición [**Dashcode**](http://developer.apple.com/leopard/overview/dashcode.html), una aplicación que nació para el desarrollo de *widgets* del **Dashboard** pero que actualmente incluye soporte para desarrollo de aplicaciones para **Safari** y **Safari Mobile**.

Evidentemente, **esto no es una panacea**. Si queremos construir una app **realmente nativa y con acceso a todas las funciones del teléfono**, siempre tendremos que pasar el filtro de la **App Store**, aunque podremos desarrollarlas utilizando técnicas parecidas gracias a proyectos como [NimbleKit](http://www.nimblekit.com/) o [Titanium](http://www.appcelerator.com/), que al tratarse de puentes entre HTML/JavaScript y Objective-C **sí están permitidas por Apple**. No obstante, para el desarrollo de pequeñas utilidades que no requieran el uso del acelerómetro o la agenda, **este es probablemente el mejor camino a seguir**.

Ahora en Hipertextual

Suscríbete gratis a Hipertextual

Estamos más ocupados que nunca y hay demasiada información, lo sabemos. Déjanos ayudarte. Enviaremos todas las mañanas un correo electrócnio con las historias y artículos que realmente importan de la tecnología, ciencia y cultura digital.