saltar al contenido. saltar al menu
Haz una página específica para iPhone rápida y sencillamente utilizando el framework de javascript IUI.
El iPhone 3G fué lanzado hace algunas semanas, así es que es tiempo de escribir una página o aplicación para el iPhone para aprovecharla novedad. Empecé a trabajar en una página específica para iPhone de enlatele.com.mx – porqué no deberían de poder encontrar los mexicanos la progamación de tele en su iPhone? Puedes ver el resultado final en iphone.enlatele.com.mx. Como lo único que quiero hacer es mostrar contenido basado en web en el iPhone, no hay necesidad de usar el API del iPhone y construir una aplicación, sino construir una página específica para el iPhone, y fué sorprendentemente fácil!
Algunas lecciones generales que aprendí, antes de que empecemos con el código en sí:
Usé solamente HTML, CSS y JavaScript, empaquetados lindamente en el framework IUI Básicamente todo lo que haces es bajarlo, importar el CSS y JS a tu HTML, escribir listas con ciertas clases de CSS y IUI hace el resto. IUI tiene incluso versiones minimizadas para hacer la página más pequeña (y más rápida de bajar a un iPhone). Esto es lo que tengo en el head de mi página:
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> <style type="text/css" media="screen">import "iui/iuix.css";</style> <style type="text/css" media="screen">import "styles.css";</style>
La etiqueta meta “viewport” es necesaria para que el navegador Safari en el iPhone sepa cómo interpretar el contenido. Sin esa etiqueta corrres el riesgo de que la página se vea poep en el iPhone que en un navegador normal.
En el cuerpo de mi documento HTML, especifico los menús para el iPhone, es decir, listas listas y más listas. El código para el menú principal es:
<ul id="home" title="Enlatele.com.mx" selected="true">
<li class="group">Canales</li>
<li><a href="channelgroup.html?=canales_abc">A-B-C</a></li>
<li><a href="channelgroup.html?=canales_def">D-E-F</a></li>
<li><a href="channelgroup.html?=canales_ghi">G-H-I</a></li>
<li><a href="channelgroup.html?=canales_jkl">J-K-L</a></li>
<li><a href="channelgroup.html?=canales_pqr">P-Q-R</a></li>
<li><a href="channelgroup.html?=canales_stu">S-T-U</a></li>
<li><a href="channelgroup.html?=canales_vwxyz">V-W-Y-X-Y-Z</a></li>
<li class="group">Proveedores</li>
<li><a href="#sky">Sky</a></li>
<li><a href="#cablevision">Cablevision</a></li>
<li><a href="#mastv">MASTV</a></li>
<li><a href="#tvabierta">TV Abierta</a></li>
</ul>
Esto resulta en esta página (como se puede ver en iphone.enlatele.com.mx)
:
IUI le da estilos automáticamente. La estructura esencial de esta lista es:
<a href="#sky">Sky</a>, que enlaza a otro ul en la misma página con el ID “sky” <ul id="sky" title="Sky">. Esto significa que puedo tener casi toda mi estructura de menu, con submenus, en una sola página. Una vez que el iPhone baja la página, no es necesaria una conexión más cuando bajas un submenu.<li class="group">Canales</li> crea una agrupación en el menú, una forma de hacer que se vea bonito sin trabajo.<li><a href="channelgroup.html?=canales_def">D-E-F</a></li>. IUI inserta el contenido de channelgroup.html en la página usando AJAX (y el ?=canales_def es solamente para que el sistema de enlatele sepa qué canales cargar). La página channelgroup.html debe contener la lista de canales que se va a incluir cuando se haga clic en el link, nada más:
<ul id="canales_abc" title="Canales A-B-C">
<li><a href="channel.html?canal=a_e_mx_west">A&E MX West</a></li>
<li><a href="channel.html?canal=american_network">American Network</a></li>
<li><a href="channel.html?canal=animal_planet_latinam">Animal Planet LatinAm</a></li>
<li><a href="channel.html?canal=animax">Animax</a></li>
</ul>
Así es que ninguna etiqueta <html> ni <body>, la lista que ves arriba es todo el contenido de channelgroup.html.
IUI también hace automáticamente otras cosas que quieres en tus páginas para iPhone, como insertar un botón para regresar a la pantalla anterior (que sólo se ve bien en Safari porque utiliza estilos específicos de Safari, así es que no te preocupes si se ve feo cuando lo pruebas en Firefox) , poniendo un gráfico cuando se cargan las páginas, etc. Se pueden hacer muchas cosas más avanzadas, pero puedes lograr mucho con tan sólo lo básico. Lo mejor es que hace que sea realmente rápido implementar algo que se ve y funciona bien en el iPhone. Claro, hay una parte que falta, que es el llenar las páginas de contenido, pero eso es programación y no lo veremos en este artículo.
Si te interesa hacer más contenido móvil, especialmente el diseño, checa el Design Stencil Kit para móbil de Yahoo . Contiene todas las piezas que necesitas para hacer prototipos y diseños para el iPhone y otras plataformas móviles.
Andreas Krohn escribe sobre mashups y tecnología en su blog digitalistic . Su último proyecto es el buscador de hosting WebHostNinja .
Suscríbete a la lista de correo y mantente informado sobre las actualizaciones del sitio.
¿Quieres compartir una noticia o enlace? ¿Sugerir un tema para un artículo? Hazlo aquí:
1 agosto 2008, 01:23
Ana Belén Ramón
muchas gracias por el artículo!
solo un pequeño detalle, ¿no sería mejor redirigir a la versión iPhone directamente y añadir un enlace de “Ver versión completa de la web”?
1 agosto 2008, 09:10
Jesús Cortés
Enhorabuena por el artículo, te leo desde hace años, y sinceramente, espero que sea por muchos más :)
Os dejo un par de enlaces interesantes sobre el desarrollo web para móviles y para iPhone en particular:
http://www.anieto2k.com/2007/07/04/trucos-y-consejos-para-desarrollar-para-el-iphone/
http://www.csslab.cl/2008/07/10/desarrollos-web-para-iphone/
http://www.iphonewebdev.com/
11 agosto 2008, 04:40
Daniel
Excelente herramienta, muy útil!
Y por cierto, ¿porqué la gente sigue haciendo este tipo de spam medianamente disfrazado, como el del comment de arriba?
En fin.
18 septiembre 2008, 17:43
Jesús Cortés
¿Compartir información es hacer spam? La gente anda muy paranoica últimamente….
1 octubre 2008, 22:42
Guillermo
Impresionante, creo que nos habeis salvado nuestra interfaz, porque estabamos recibiendo quejas y no teniamos ni idea de que le paba.
20 julio 2009, 21:12
Daniel
Muy buen dato para tener en cuenta