Framework CSS y XHTML para desarrollar en iPhone y iPod Touch

iPhone, 2007Hoy es un día especial: he lanzado mi primer framework. Sí, ¡le gané a la procastinación! Los desarrolladores interesados en hacer aplicaciones web para el iPhone pueden a partir de hoy descargar el Universal iPhone UI Kit y empezar a utilizarlo.

Hice un proyecto en Google Code, lo licencio con AGPLv3 y pueden ver un snapshot online o bien ir a la página del proyecto en Google Code, bajar una versión en archivo ZIP o bien utilizar el SVN para descargar siempre lo último que se va mejorando y agregando.

Bendita sea Apple y su documentación

La documentación que uno encuentra para desarrollar una aplicación web y que se visualice en un iPhone es básica, muy básica y a nada de estar leyendo empiezas a pasar páginas. Hay poco código de ejemplo y se limita a las convenciones del aparato. Una vez digerido el PDF que te da Apple, me fui a la lista de ejemplos que te ofrecen. La verdad, y espero que no les parezca prepotente, yo me esperaba algo mejor.

A nivel HTML, bueno, Safari para iPhone soporta unas cuantas cosas, casi no tendréis muchos problemas. El verdadero poder está en CSS. Utilizando lo último en CSS3 puedes crear auténticas virguerías con Safari, y lo mejor de todo es que te podés olvidar de Internet Explorer, Firefox, Opera. Ahora entiendo por qué los desarrolladores de juegos para consolas duermen y follan mejor que los de PC.

Siguiendo con el tema, los ejemplos provistos por Apple eran escuetos. Yo me imaginaba algo más completo, como lo que hay en la zona de desarrollo de aplicaciones para iPhone. Me encontré con dos ejemplos de listas que al visualizarlas en el iPhone no se veían igual que las otras, así que me rayé completamente. Miré el código de cómo planteaba Apple los listados y me deprimí: código HTML al mejor estilo sopa de elementos y CSS para nada resumido. En resumen: hacerme mi propio código.

Construcción de un Framework

La idea básica del Framework es que cualquier persona –con conocimiento en el área de programación web– pueda hacer una aplicación basándose en unos patrones de diseño. En el ejemplo básico que proveo, podréis acceder a una variedad grande de ejemplos de interfaz del actual iPhone.

La elección del código es algo difícil. Primero, porque uno no siempre hace algo para que el resto pueda desarrollar. Uno en general hace lo que le conviene a uno, para utilizar en ese momento. Por ello, escoger la semántica adecuada, no es tarea fácil. Segundo, la utilización de nombres de clases y la cantidad hace que el proyecto se complique: y si hago esto así; y si mejor opto por usar más cosas; etc. En fin, es algo complicado, sobre todo porque uno quiere utilizar la menor cantidad posible de código. Hay que tener en cuenta que, cuanto más obligue a un desarrollador a escribir, más se alejará el concepto de Framework, transformándose algo totalmente opuesto. Por ello, los ejemplos, no tienen documentación alguna, la única documentación es abrir un navegador y mirar el código fuente. El código está lejos de estar completamente optimizado. Tengo conciencia que puedo mejorar más reglas, producto de las prisas, pero estoy seguro que no tardarán en llegar las mejoras. Ya me ha pasado con otros proyectos de código abierto que hice, los cuales tuvieron una acogida abrumante. Espero, y tengo ilusión que mi framework le haga la vida fácil a todo desarrollador.

Cómo empezar a utilizarlo

Para empezar, forma más fácil es abriendo la carpeta y visualizar index.html en el simulador del iPhone o bien, en el iPhone. La mejor forma es instalar MAMP (muy fácil) y teniendo el iPhone o iPod Touch a mano accediendo por IP es algo muy cómodo para trabajar. También podéis utilizar el simulador, pero, en algunos casos, podréis notar unas diferencias mínimas entre el iPhone físico y el simulador.

Copiad o hacer svn co en dicho directorio y navegar el contenido como si fuera una aplicación de iPhone. Prestad atención a los enlaces, sobre todo, en la sección de listas informativas o bien en el módulo de formularios. Dentro de toda la investigación también están los ejemplos de lanzadera, por ejemplo, para abrir el teclado numérico, de teléfonos, buscador, de texto normal o bien, cosas como href=”tel:” o map=”map:” y al lista sigue. El código se explica bien y sólo.

Para empezar vuestra aplicación, simplemente diagramadla en papel siguiendo las recomendaciones de Apple para desarrollar aplicaciones y luego crear las vistas en HTML valiéndose de los ejemplos que hice. De momento, es sólo eso, pero pueden salir algunas otras cosillas, dado que en el iPhone estas cosas no ocurre, nada mejor que testear todo en un iPhone.

Qué se viene

Tengo muchas ganas de incorporar un módulo de animación que interactúe con las estructuras sin cambiar una pizca del código. Así sería lo menos intrusivo posible y mejor organizado a nivel patrón de eventos. La incorporación de más elementos de interfaz del teléfono, más ejemplos de listados, una plantilla maestra en PSD para poder personalizar los botones y más cositas para divertirse haciendo apps para éste teléfono.

Ah, y se aceptan todo tipo de donaciones.

27 Respuestas a la entrada “Framework CSS y XHTML para desarrollar en iPhone y iPod Touch”

Escrito por Luis Miguel
Julio 7th, 2008 at 8:15 am

Fantástico, Diego!

Eso es empezar bien un lunes ;)

Enhorabuena, vago xD

Muy bueno. La verdad es que la documentación de Apple es verdad que deja un poco que desear.

Una herramienta que viene perfecta para el prototipado de aplicaciones y web para el iPhone es Omnigraffle, acompañada de estas paletas: http://graffletopia.com/stencils/tags/iphone

¡¡Felicidades!! A ver si lo pruebo un poco :)

Oh yeah, grande! Diego, vayan por delante mis felicitaciones y mi agradecimiento ante tal iniciativa, en forma de donación, porque bien lo merece el tiempo que hayas dedicado a montar el framework.

En pocas semanas me embarco a adaptar unas pocas aplicaciones web a formato iPhone y por lo que he podido probar… me vas a ahorrar unas cuantas horas de trabajo. Gracie mile!

Esto además debería funcionar/verse igual en cualquier browser Webkit Mobile, como el que incorpora la plataforma Android de Google y algunos modelos de Nokia (y creo que un Samsung nuevo también).

Genial!
Mucho mejor que cualquier documentacion de desarrollo!, Esto es algo que tendría que haber hecho Apple.

Muchas gracias, la idea es que todos colaboren y aprovechen esto. Sobre lo que dice ErneX, no tengo ahora mismo un simulador de android ni un teléfono Nokia decente con webkit (según tengo entendido es un modelo solo el que lo lleva) para pobrarlo. En realidad, este framework está hecho sólo para iPhone y iPod Touch, cualquier tipo de soporte fuera de estos dos aparatos, tales como, que se vea en Firefox, es otra historia.

Soporte para Internet Explorer: LOL.

Muy buena iniciativa, después le voy a pegar una miradita el framework. ¡Felicitaciones!

Excelente!
5 Quintines

Fantástico!

Tan pronto lo utilice te hare los comentarios que vea (espero aceptes comentarios). No es que sea un experto en XHTML y CSS pero creo que se me dan bastante bien. Hasta ahora solo he visto esta pagina (http://www.g8l.us/iphone/index.html) pero nunca he llegado a saber utilizarla.

Vaya que sí eres un geek, con dos cojones. :D

De nuevo al rescate de la web hispanohablante. Y ahora la web móvil con iPhone.

Excelente, espero poder digerir esto y ver con qué se come, ojalá que en un futuro cercano comenzemos a hacer ports para iPhone o algo. Gracias.

Pues ya lo probe y debo decir que me impresiono, ya has solucionado talves un 70 u 80 porciento de lo que necesita, a nivel de interfase, una aplicación para iphone, un muy importante avance para el desarrollo en esta plataforma, esperemos oir más noticias sobre esto y por que no, colaborar un poco llegado el momento.

Beto, creo que lo mejor no es hacer posts o blogs sólo para iPhone, ya me entiendes. Pero aplicaciones específicas de mercado, está muy bien. Y, sin ir más lejos, si es web, sin requerimientos de membrecía de Apple Developer y compartir gastos con Apple, pues vale la pena.

Vaya, era justo lo que estaba buscando, ahora que estoy aprendiendo PHP + MySQL.
Felicitaciones!

Diego, realmente te pasaste!!.

Bajándolo para ver como lo ocupamos en Gaaper.com

Saludos.

Nico

Vaya, esperaba un framework para desarrollo pero solo es un conjunto de estilos. En fin, habrá que seguir esperando.

Bueno, si un conjunto de estilos y documentos HTML no es desarrollo, plegamos todos y nos vamos a la playa a vender cocos. Para realizar aplicaciones sobre otro tipo de framework debes ir a la web de Apple y descargar el SDK.

Interesante. Le acabo de echar un vistazo y tiene buena pinta.

Real: estuve mirando un poco en Google, y el término “CSS framework” es válido. Tu mensaje no sé si es troll o por desconocimiento (o por no leer bien de que va esto).

¿Y todo qué utilidad tiene en tu vida real?

Os coméis demasiado la cabeza por cosas inútiles amigos míos.

Excelente iniciativa.

He estado experimentando con varios frameworks y encontre uno con muy buenas animaciones, se ven mejor que el resto.

http://webapp.net.free.fr

Para que veas el código te res una idea de como lo están haciendo.

Felicidades, es importante que haya iniciativas como esta a fin de potenciar herramientas españolas o más bien hispanas. Especialmente en temas tan nuevos como iphone, etc.

ah bueeeee
ahi te salio el argentinazo, me mato lo de “framework” y el infaltable “Donate”.
un grande.

Escrito por Mendoza Matias A.
Agosto 5th, 2008 at 9:46 am

Buenas, hiciste un trabajo muy bueno.. me es de gran utilidad.. te queria preguntar si es posible agregar un acceso directo en la pantalla principal que abra el safari y lleve a la web indicada? seria el complemento perfecto para un webapp, desde ya muchas gracias.. un saludo..

Matías, ahora mismo, no. Pero en futuras ediciones sí incluiré el código que te permite generar ese icono en el escritorio del iPhone.

Escribe tu comentario

Puedes utilizar algunos elementos de XHTML en los comentarios.