10 Mar 2010

El futuro del diseño web pasan por los dispositivos moviles, las estadísticas están ahí, un millón de dispositivos vendidos el primer fin de semana que salió el Iphone, en 2009 fueron vendidos alrededor de 45 millones de dispositivos, lo que querría decir que todos los españoles tendrían un iphone…

Debemos saber ciertas reglas cuando diseñamos para iphones, como que no se visualizan los elementos flash, disponemos de una resolución menor, el tamaño de imágenes no puede pasar de un tamaño específico, 320×480px. Las tipografías soportadas son American Typewriter, Arial, Arial Rounded MT Bold, Courier, Courier New, Georgia, Helvetica, Helvetica Neue, Marker Felt, Times New Roman, Trebuchet MS, Verdana y Zapfino.

Estas son solo algunas de las cuestiones básicas que os enseñaremos.

CARGAR CSS O WEB DISEÑADA ESPECÍFICAMENTE PARA IPHONE

El código para que detecte que la página se está viendo desde un iphone es el siguiente, se podría hacer bien que cargue una css específica o bien que cargue una web con programación específica para el dispositivo móvil.

Mediante Javascript:

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
	if (document.cookie.indexOf("iphone_redirect=false") == -1) {
		window.location = "http://m.espn.go.com/wireless/?iphone&i=COMR";
	}
}

Mediante PHP:

if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {
	header('Location: http://yoursite.com/iphone');
	exit();
}

DEFINIR LA ESCALA DE VISUALIZACIÓN DE LA PÁGINA WEB
Cuando entramos en una web desde nuestro iphone y la vemos en pequeñito,es debido a que el desarrollador no ha insertado el código que indica el ancho de pantalla (width=device-width).

AÑADIR UN ICONO PERSONALIZADO DE LA PÁGINA WEB EN EL ESCRITORIO DEL IPHONE

Si lo que necesitamos es añadir un icono a la web, para que cualquier usuario la pueda agregar a favoritos en su dispositivo movil, tan solo tendremos que crear una imagen de 57px por 57px en formato .png. No tienes por qué añadir brillos o esquinas ya que el iPhone las añade automáticamente:

<rel="apple-touch-icon" href="images/template/engage.png"/>

DESACTIVAR AUTOAJUSTE DE TEXTO AL ROTAR EN SAFARI
Cuando giramos el iphone, safari por defecto autoajusta el tamaño del texto si lo que queremos es desactivar esta función tendremos que añadir las siguiente lineas en nuestra css.

html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
	-webkit-text-size-adjust:none;
}

APLICAR CSS ESPECIFICOS PARA EL IPHONE

Si lo que queremos es que se apliquen ciertos estilos solamente cuando se esté visualizando en un iphone, aplicando el siguiente código:

@media screen and (max-device-width: 480px){
	/* Todo el CSS para iPhone va aqui */
}

REDIMENSIONAR IMÁGENES AL ANCHO DE PANTALLA DEL IPHONE

Otro dato que tenemos que tener en cuenta cuando diseñamos páginas web para iphone es el tamaño de las mismas, ya que en este dispositivo móvil el ancho máximo es de 480px por lo que si es más grande se saldrá de la pantalla, con el siguiente código conseguiremos que se queden encajadas en la pantalla

@media screen and (max-device-width: 480px){
	img{
		max-width:100%;
		height:auto;
	}
}

FUNCIONES EXCLUSIVAS PARA IPHONE: LLAMAR Y MANDAR SMS
Uno de mis grandes descrubimientos han sido estas dos funciones ya que son específicas para usar en dispositivos móviles, y nos servirán para llamar directamente al pulsar o enviar un sms

Llámame
Mándame un SMS

APLICAR CSS SEGUN ESTE EN VERTICAL O HORIZONTAL
Con este script conseguiremos aplicar un css especifica según se esté visualizando horizontal o verticalmente.

window.onload = function initialLoad() {
	updateOrientation();
}
function updateOrientation(){
	var contentType = "show_";
	switch(window.orientation){
		case 0:
	contentType += "normal";
	break;
	case -90:
	contentType += "right";
	break;
	case 90:
	contentType += "left";
	break;
	case 180:
	contentType += "flipped";
	break;
	}
	document.getElementById("div_identificativo").setAttribute("class", contentType);
}

DESACTIVAR BARRA DE TAREAS EN SAFARI

window.addEventListener('load', function() {
	setTimeout(scrollTo, 0, 0, 1);
}, false);

ESTILO LINKS HOVER EN IPHONE

var myLinks = document.getElementsByTagName('a');
for(var i = 0; i <myLinks.length; i++){
   myLinks[i].addEventListener('touchstart', function(){this.className = "hover";}, false);
   myLinks[i].addEventListener('touchend', function(){this.className = "";}, false);
}
a:hover, a.hover {
	/* el efecto hover que sea*/
}
Deja un comentario

7 comentarios
  1. Verdaderamente util, gracias.
    Algunos los he usado en mi pagina web para el iphone, creo que le puede ser bastante util a la gente, sobre todo si se usa desde install0us.
    www . jabat.org / iphone

  2. Me parece un «manual» genial. Muchísimas, me ha sido de gran utilidad. Saludos

  3. Hola, queria hacerles una consulta. Necesito crear una web para iphone y dentro un boton que al presionarlo permita guardar el acceso directo de la pagina y dejarlo con un icono al inicio del iphone. Ustedes saben como hacerlo ??? gracias.

  4. great! thks

  5. Esto tiene una pinta alucinante! justo lo que andaba buscando. Eres un crack 🙂

  6. Mil gracias, te vas a ir al cielo.

  7. Muchas gracias, estoyempezando con mi web, y seria de gran utilidad, otra cosa, esto es solo para el iphone o hay manera de que lo tome cualquier disp movil?, o en otro movil se veran bien las webs?