Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza:...

76
Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles © 2011-2012 Depto. Ciencia de la Computación e IA Programación web para móviles Sesión 1: Introducción al desarrollo Web para móviles

Transcript of Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza:...

Page 1: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IA 

Programación webpara móviles

Sesión 1: Introducción al desarrollo

Web para móviles

Page 2: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 2

Contenido

• Introducción al desarrollo web para móviles

• Instalación de un servidor Web

• HTML

• CSS

Page 3: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 3

Programación Web para móviles

• Introducción

• Aplicación móvil vs. Aplicación nativa

• Reglas de usabilidad

• Buenas prácticas de programación

• Dominio

• Detección del navegador

• Inspiración

Page 4: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 4

Introducción• La Web móvil es la misma Web que la de escritorio, utiliza:

• la misma arquitectura.

• las mismas tecnologías.

• Pero existen claras diferencias que impiden que su funcionamiento y manejo sea el

mismo, como son:

• Tamaño de la pantalla.

• Diferentes formas de manejo (táctil, teclado, cursor, etc.).

• Ancho de banda.

• ¡Es móvil!

• Diferente tipo de uso.

Page 5: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 5

Introducción• Al diseñar este tipo de aplicaciones tenemos que orientarlas a su uso principal,

introduciendo cambios en:

• Contenido.

• Información más clara y directa.

• Apariencia.

• Estructura

• Regla del 20%:

• El 80% del contenido del sitio web de escritorio no es válido para una web móvil.

• Hemos de centrarnos en ese 20% restante:

• Averiguar cual es.

• Optimizar el sitio para este uso.

Page 6: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 6

Aplicación móvil vs. Aplicación nativa

Las aplicaciones nativas tienen la ventaja de poder usar funciones no disponibles para la web móvil:

• Interfaces nativas que proveen los propios SDK como iPhone o Android.

• Bases de datos locales. Aunque en HTML 5 se puede usar el

almacenamiento local, estas tecnologías están más avanzadas en los

sistemas nativos.

• Notificaciones push.

• Geolocalización.

• Soporte para cámara o vídeo.

Page 7: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 7

Aplicación móvil vs. Aplicación nativa

• Sin embargo, estas diferencias cada vez son menores:

• Mejoras en HTML5, CSS3 y JavaScript.

• Mejores frameworks de desarrollo para aplicaciones móviles, como JQuery Mobile o Sencha

Touch.

• Apariencia cercana a las de las aplicaciones nativas.

• Adapta el contenido según el dispositivo usado.

• Multiplataforma.

• El desarrollo web no ha muerto por la inclusión de las aplicaciones móviles, sino que se ve

afectado por un proceso de cambio hacía la adopción de nuevas tecnologías.

• PhoneGap: crear una aplicación nativa instalable a partir de una página Web

• Da acceso a: cámara, acelerómetro, geolocalización, listado de contactos, comprobar el

estado de la conexión, etc.

Page 8: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 8

Reglas de usabilidad

1. Reducir la cantidad de contenido

• El espacio visual es muy limitado. Cada píxel cuenta.

• No todo lo que es válido para una Web de escritorio lo es para una

Web móvil.

• Solo debemos de incluir el contenido y las características

principales y más importantes.

• La web móvil debe de estar enfocada a este contenido principal.

• Facilitar su lectura y navegación, así como mejorar los tiempos de

carga reduciendo imágenes y contenidos.

Page 9: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 9

Reglas de usabilidad

2. Usar una sola columna

• Las páginas Web anchas y con varias columnas dificultan la

navegación y lectura en un dispositivo móvil.

• El zoom añade pasos a la navegación, y en algunos dispositivos no

es fácil de realizar.

• Solución: tener todo el contenido en una sola columna que ocupe

todo el ancho de la pantalla.

• Para añadir contenido lo haremos hacia abajo.

• Esto nos asegura una visualización correcta.

Page 10: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 10

Reglas de usabilidad

3. Muestra los enlaces de navegación de forma diferente

• No hay que poner todos los enlaces de navegación en la parte superior de la

pantalla, desplazarán el contenido hacia abajo.

• La página principal debería de contener los enlaces al resto del contenido junto

con un buscador (si fuese necesario).

• La página principal debe ser como una guía, facilitando el acceso rápido a la

información más importante de la web.

• Solución:

• Las opciones más importantes arriba.

• Usar barras inferiores.

• Usar menús con listas desplegables.

Page 11: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 11

Reglas de usabilidad

4. Minimiza la cantidad de datos solicitados

• Escribir utilizando un móvil es mucho más difícil que hacerlo utilizando el teclado

de un ordenador de sobremesa.

• Se escribe mucho más lento y se cometen más errores.

• Por estas razones tenemos que intentar minimizar la cantidad de texto solicitado.

• Soluciones:

• Almacenar datos (usuario, contraseñas, configuración, direcciones, etc.),

• Aprovechar algunas de las funcionalidades que incorporan los dispositivos móviles

(como veremos más adelante).

Page 12: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 12

Reglas de usabilidad

5. Decide si necesitas más de una Web para móvil

• El tamaño de pantalla, la capacidad de procesamiento y de usabilidad varía

enormemente de un terminal a otro.

• A veces debemos de considerar crear varios sitios web con el mismo contenido pero

adaptado a diferentes necesidades.

• Por ejemplo, Facebook tiene m.facebook.com como sitio web principal para móviles,

pero además tiene una versión optimizada para pantallas táctiles (touch.facebook.com)

y una versión optimizada para conexiones más lentas (0.facebook.com).

Page 13: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 13

Reglas de usabilidad

6. Diseña para pantallas táctiles, pero también para teléfonos no-táctiles

• La forma de navegar puede ser muy diferente según el dispositivo:

pantallas táctiles, trackball, joystick, teclado, etc.

• Dificultades: selección o pulsado sobre textos o enlaces pequeños.

• En las pantallas táctiles además se dificulta el pulsado sobre elementos

que estén muy juntos.

• Solución: Los enlaces o elementos que puedan ser seleccionados deben

de ocupar un mayor espacio, incluirlos en botones o cuadros más

grandes.

Page 14: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 14

Reglas de usabilidad

7. Aprovecha las funcionalidades que incorporan los móviles

• Realizar llamadas: es una funcionalidad muy útil que los PCs no pueden realizar

tan fácilmente.

• Aprovecharla para llamar directamente al presionar sobre un número de teléfono,

facilitar el contacto con un servicio técnico, etc.

• Uso de mapas y posición actual: seleccionar una dirección y que automáticamente

se abra en la aplicación de mapas del dispositivo móvil, etc.

• Uso de la posición actual para mostrar puntos de interés cercanos, calcular rutas,

etc.

• Solicitud de información de formas innovadoras: como por ejemplo los códigos

QR, que se han usado en algunas campañas de publicidad, etc.

Page 15: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 15

Buenas prácticas de programación Web para dispositivos móviles• URL lo más corta posible.

• La barra de navegación debe de estar en la cabecera y ofrecer la navegación mínima necesaria.

• Lo más importante, primero. Ofrece al usuario lo que busca.

• No recargar automáticamente la página, a menos que se informe claramente.

• Peso limitado. Reducir todo lo posible las imágenes y el contenido multimedia.

• Scroll. Limitar el desplazamiento de la página a una dirección.

• Test. Hacer pruebas en emuladores y en dispositivos reales.

• Enlaces:

• Mínimos a recursos externos.

• Equilibrio entre enlaces y contenido.

• Identificar de forma clara el destino del enlace. (pdf, etc.)

• No usar ventanas emergentes.

• No ofrecer más contenido del solicitado por el usuario.

Page 16: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 16

Dominio

• Existen diferentes alternativas que podemos usar:

• Podemos tener un subdominio de nuestro sitio Web especializado para

dispositivos móviles.

www.midominio.com → m.midominio.com.

Facebook tiene: m.facebook.com, touch.facebook.com, 0.facebook.com

• Redireccionar desde el dominio principal.

• Dominio ".mobi" (especial para web móvil).

• Recomendación: tener varias opciones disponibles, con la intención

de facilitar al máximo el acceso.

• En este caso deberemos crear redirecciones 301 al dominio principal.

Page 17: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 17

Detección del navegador

• Un dilema a la hora de desarrollar contenidos para móviles es cómo

diferenciar entre dispositivos móviles y navegadores de escritorio.

• Usar una función de comprobación que nos indique el tipo de navegador.

• Una vez obtenido el navegador tenemos varias opciones:

• Redireccionar al dominio correspondiente,

• Adaptar el código de nuestra página según el cliente.

• Existen librerías que permiten detectar el tipo de navegador desde cliente

y desde servidor, usando multitud de lenguajes, como JavaScript, PHP,

ASP, ASP.NET, C#, Apache, JSP, JQuery, Perl, etc.

http://detectmobilebrowsers.mobi/ http://detectmobilebrowsers.com/

Page 18: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 18

Inspiración

Page 19: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 19

Inspiración

Page 20: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 20

Inspiración

Page 21: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 21

Instalación de un servidor Web

• XAMPP para Linux

• XAMPP para Windows

• Servidor Web para Mac

• Acceso mediante un dispositivo móvil real

• Instalación del SDK de Android

• Instalar Xcode

• Simuladores y Emuladores

Page 22: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 22

Introducción• Una de las herramientas principales que necesitamos es un servidor Web.

• Dado que instalar un servidor Web completo y configurarlo es una tarea

bastante costosa, para el desarrollo y testeo de aplicaciones en local se

puede utilizar un servidor XAMPP.

• Este es un paquete software de fácil instalación que incluye todo lo necesario

para la ejecución de un servidor Web.

• Es independiente de plataforma, software libre (licencia GNU).

• El nombre proviene del acrónimo formado por X (multiplataforma), Apache,

MySQL, PHP y Perl.

• Está disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X.

Page 23: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 23

XAMPP para Linux

• Descargar XAMPP desde: http://www.apachefriends.org/en/xampp-linux.html

• Abrimos una consola y ejecutamos:sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt

• Ahora ya tenemos instalado el servidor en la ruta '/opt/lampp'.

• Para inicializar el servidor escribimos:sudo /opt/lampp/lampp start // stop para detenerlo

• Veremos algo como:Starting XAMPP 1.7.7...

LAMPP: Starting Apache...

LAMPP: Starting MySQL...

LAMPP started.

• Para comprobar que todo ha ido correctamente abrimos un navegador y escribimos la dirección “http://localhost”.

• El directorio raíz de Apache es “/opt/lampp/htdocs”.

Page 24: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 24

XAMPP para Windows

• Descargar instalador desde: http://www.apachefriends.org/en/xampp-windows.html

• Instalar utilizando los valores por defecto.

• Abrir el Panel de Control de XAMPP (Inicio > Programas > XAMPP).

• Desde aquí podemos iniciar y detener cada uno de los servicios

individualmente.

• Para comprobar que el servidor está instalado correctamente abrimos

un navegador y escribimos “http://localhost/” (firewall?)

• El directorio raíz de Apache es “C:\xampp\htdocs”.

Page 25: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 25

Servidor Web para Mac• Mac viene con un servidor web Apache instalado.

• Si queremos instalar un servidor XAMPP:

“http://www.apachefriends.org/en/xampp-macosx.html”.

• Para el servidor Apache de Mac:

• Abrir “Preferencias del Sistema” → “Sharing” → habilitar “Web Sharing”.

• (Según la versión) Aparecerá un botón para abrir la carpeta con el contenido Web

y un enlace al localhost.

• Acceso manual: dirección IP de la máquina + nombre de usuario.

http://192.168.0.18/~ajgallego/

• Si usamos un servidor XAMPP podríamos usar directamente: “http://localhost”.

• El contenido Web se encuentra en la carpeta principal con el nombre de “Sites”.

Page 26: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 26

Acceso con un dispositivo móvil real

En Mac:

• Conectarnos a la misma red WiFi.

• En caso de que haya un Firewall permitir el acceso.

• La dirección a usar es la misma que en local:

Dirección IP del servidor + nombre de usuario

http://192.168.0.18/~ajgallego/

Page 27: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 27

Acceso con un dispositivo móvil real

En Linux o Windows:

• Conectarnos a la misma red WiFi.

• Asegurarnos de que no se esté ejecutando ningún Firewall.

• Obtener la dirección IP del servidor:

• En un terminar “ipconfig” (Windows) o “ifconfig” (Linux).

• La dirección a usar será:

Dirección IP del servidor + carpeta proyecto Web

http://172.16.125.128/mi_web

Page 28: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 28

HTML• Introducción• Editores HTML• Etiquetas• Estructura básica de una

Web• Elementos de la

cabecera• Etiquetas básicas HTML• Listas

• Tablas• Cajas (etiqueta <div>)• Enlaces• Imágenes• Formularios• Eventos• Símbolos HTML

Page 29: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 29

Introducción• HTML (HyperText Markup Language).

• Lenguaje de marcado predominante para la elaboración de páginas web.

• Describe la estructura y el contenido en forma de texto.

• Se escribe en forma de “etiquetas”, mediante las cuales podemos

describir la estructura lógica y apariencia del contenido.

• Se puede complementar con otros lenguajes como JavaScript o CSS.

• Actualmente se usa el estándar de HTML 4.01 (1999).

• HTML5 a fecha de 2011 sigue siendo un borrador.

Page 30: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 30

Editores

• Podemos usar cualquier editor de textos básico (gedit, bloc de

notas,...).

• Editores WYSIWYG (What You See Is What You Get):

• Permiten ver el resultado de lo que se está editando en tiempo real.

• Aceleran o facilitan la creación de código HTML, pero en algunas ocasiones

también generan mucho más código del necesario.

• Ejemplos: Adobe Dreamweaver, KompoZer o Microsoft FrontPage.

• Mejor opción: editores que simplemente comprueban que el código

es correcto.

Page 31: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 31

Etiquetas

• Deben de ir encerradas entre corchetes angulares “<>”

• Pueden ser de dos tipos:

• Apertura y cierre (<p>texto</p>).

• Sólo apertura (<br/>).

• Los atributos se deben de colocar en la etiqueta de inicio:

<etiqueta atributo1="valor1" atributo2="valor2">...</etiqueta>

• O para las etiquetas de solo apertura:

<etiqueta atributo1="valor1" atributo2="valor2"/>

Page 32: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 32

Estructura básica de una Web

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Ejemplo</title>

</head>

<body>

¡Hola mundo!

</body>

</html>

CUERPO

CABECERA

Page 33: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 33

Elementos de la cabecera

• <title>Título</title>: define el título de la página, que aparecerá en la barra de título

encima de la ventana.

• <link/>: para vincular el sitio con hojas de estilo:

<link href="style.css" rel="stylesheet" type="text/css"/>

• <style></style>: añadir definición de estilo en línea.

<html>

<head>

<style type="text/css">

Estilos CSS

</style>

</head>

<body>...</body>

</html>

Page 34: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 34

Elementos de la cabecera

• <meta/>: para indicar metadatos:<meta name="description" content="Descripción" />

<meta name="keywords" content="key1,key2,key3" />

<meta name="author" content="Nombre del autor" />

• <script></script>: permite incluir un script en la Web.

El código se puede cargar desde un fichero externo:

<script src="fichero.js" type="text/javascript"></script>

O escribir directamente entre las etiquetas de <script>:<script type="text/javascript">

Código de un script integrado en la página

</script>

Page 35: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 35

Etiquetas básicas HTML

• <h1></h1> a <h6></h6>: encabezados o títulos del documento.

• <p></p>: definición de un párrafo.

• <br/>: salto de línea.

• <strong></strong> (<b></b>): texto en negrita.

• <em></em> (<i></i>): texto en cursiva.

• <del></del> (<s></s>): texto tachado.

• <u></u>: texto subrayado.

Page 36: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 36

Etiquetas básicas HTML• <center></center>: texto centrado.

• <pre></pre>: texto preformateado, respeta los espacios y saltos de línea.

• <sup></sup>: Superíndice

• <sub></sub>: Subíndice

• <blockquote></blockquote>: párrafo indexado con respecto al margen.

• <hr/>: Línea o separador horizontal.

• <!-- comentario -->: Comentario, texto no visible.

• <span></span>: Etiqueta neutra, se utiliza para aplicar estilos.

Page 37: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 37

Listas

• <ol></ol>: Lista ordenada (con numeración).

• <ul></ul>: Lista con puntos (o viñetas).

• <li></li>: Elemento de una lista.

Ejemplo:

<ol>

<li>Elemento 1</li>

<li>Elemento 2</li>

</ol>

1. Elemento 12. Elemento 2

Page 38: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 38

Tablas

• <table></table>: define el inicio y fin de una tabla.

• <tr></tr>: fila de una tabla.

• <td></td>: celda de una tabla.

• <th></th>: celda de “cabecera”.

Ejemplo:<table>

<tr>

<td>Fila 1 izqda</td>

<td>Fila 1 dcha</td>

</tr>

<tr>

<td>Fila 2 izqda</td>

<td>Fila 2 dcha</td>

</tr>

</table>

Fila 1 izqda Fila 1 dcha

Fila 2 izqda Fila 2 dcha

Page 39: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 39

Tablas

En la etiqueta de apertura <table> podemos utilizar los atributos:

• width=“num” / height=“num”: Ancho / Alto de la tabla en puntos o

porcentaje.

• border=“num”: Ancho del borde en puntos.

Con border=“0” obtenemos una tabla con divisiones invisibles.

• cellspacing=“num”: Espacio entre celdas.

• cellpadding=“num”: Espacio entre el borde de la celda y el contenido.

contenido contenidocellpadding

cellspacing

Page 40: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 40

TablasEn las etiquetas de apertura de celda (<td> o <th>) podemos utilizar los atributos:

• width=“num”: anchura de la columna en puntos o en porcentaje.

• align=“left | right | center | justify”: Alineación horizontal

• valign=“top | bottom | middle”: Alineación vertical.

• rowspan=“num”: número de filas que ocupa la celda.

• colspan=“num”: número de columnas que ocupa la celda.

colspan = 2

rowspan = 2

Page 41: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 41

Cajas (etiqueta <div>)

• La etiqueta <div></div> define una caja contenedora.

• Puede contener cualquier tipo de elemento (texto, imágenes, etc.)

u otras etiquetas <div> para crear subdivisiones.

• Se usan para organizar la disposición de elementos.

• Podemos indicar su posición de forma absoluta o relativa.

• Se recomienda su uso junto con CSS cuando se desea alinear

contenido (en vez de la etiqueta <table>).

Page 42: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 42

Imágenes

• Para incluir una imagen se utiliza la etiqueta:

<img src="" alt=""/>

• Donde:

• src=“” ruta de la imagen.

• alt=“texto alternativo”, texto a mostrar en caso de no poder cargar la

imagen (también se utiliza en opciones de accesibilidad).

• Podemos usar “width” y “height” para redefinir el ancho y el alto de la

imagen.

• Por ejemplo:

<img src="cabecera.jpg" alt="Cabecera"/>

Page 43: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 43

Enlaces

• Vinculan partes de un documento con otros documentos o con otras partes del mismo documento.

<a href="URL">Nombre del enlace</a>

href=”” establece la dirección URL a la que apunta el enlace.

• Por ejemplo:

<a href="es.wikipedia.org">Wikipedia</a>

• Podemos crear enlaces sobre otros objetos, como imágenes:

<a href="dirección_URL"><img src="imagen.jpg"/></a>

Page 44: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 44

Formularios

La declaración queda recogida por <form></form>, donde tenemos que indicar:

• action=“”: acción a realizar al enviar el formulario: un fichero o dirección de e-mail.

• method=“”: método de transferencia de las variables. “post” envía los datos de forma

no visible; “get” los adjunta a la URL a la que se redirige.

• enctype=“”: tipo de codificación de la información enviada. Con method=“get” no

es necesario. Con method="post" podemos usar:

• application/x-www-form-urlencoded: valor predeterminado. Codifica todos los caracteres.

• multipart/form-data: requerido al enviar archivos. No codifica la información.

• text/plain: No codifica la información, solo cambia los espacios por el símbolo “+”.

Page 45: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 45

Formularios

• Para añadir campos al formulario se utiliza la etiqueta:

<input type=“” name=“” />

• Donde:

• name=“”: nombre que se asigna al campo.

Se utilizará al enviar la información al servidor o por correo.

• type=“”: Indica el tipo de campo a utilizar.

Puede ser de muchos tipos: text, password, checkbox, radio, file, hidden, submit,

reset.

• value=“”: atributo opcional. Podemos usarlo para indicar el valor

inicial o acceder al valor actual del campo.

Page 46: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 46

Formularios

• type=“text”: campo de tipo texto de una línea.

• maxlenght=“”: número máximo de caracteres.

• size=“”: número de caracteres a mostrar en pantalla.

• value=“”: indica el valor inicial del campo.

• type=“password”: oculta el texto introducido.

<input type=“text” name=“nombre” size=“50”/>

<input type=“password” name=“pass” size=“50”/>

Page 47: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 47

Formularios• type=“checkbox”: permite marcar varias opciones a la vez.

• value=“”: valor que será enviado si la casilla está marcada.

• checked: atributo opcional, hace que la casilla aparezca marcada por defecto.

Ejemplo:

<input type="checkbox" name="option1" value="leche"/> Leche<br/>

<input type="checkbox" name="option1" value="pan" checked/> Pan<br/>

<input type="checkbox" name="option1" value="queso"/> Queso<br/>

• type=“radio”: solo permite marcar una casilla a la vez.

• value=“”: valor que será enviado si la casilla está marcada.

• checked: atributo opcional, hace que la casilla aparezca marcada por defecto.

Ejemplo:

<input type="radio" name="group1" value="leche"/> Leche<br/>

<input type="radio" name="group1" value="pan" checked/> Pan<br/>

<input type="radio" name="group1" value="queso"/> Queso<br/>

Page 48: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 48

Formularios• type=“file”: permite subir archivos.

• size=“”: Indica el ancho del campo. Atributo opcional.

<input type="file" name="datafile" size="40"/>

• type=“hidden”: Valor oculto, no se puede modificar.

• type=“submit”: Representa el botón de “Enviar”.

• value=“texto”: texto que aparecerá en el botón.

• type=“reset”: borra el contenido de todos los campos.

• value=“texto”: texto que aparecerá en el botón.

Page 49: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 49

Formularios - Campos de Selección• <select></select>: define una lista de opciones.

• size=“”: Numero de opciones visibles a la vez. • 1 → desplegable.

• >1 → lista con barra de desplazamiento.

• multiple: Permite seleccionar mas de un valor.

• <option value=“”>Nombre</option>: opciones de la lista.

• value=“”: valor que se enviará con el formulario.

• selected: opción seleccionada por defecto.

<select name="Colores" multiple>

<option value="r">Rojo</option>

<option value="g">Verde</option>

<option value="b">Azul</option>

</select>

<select name="Colores" SIZE="1">

<option value="r">Rojo</option>

<option value="g" selected>Verde</option>

<option value="b">Azul</option>

</select>

Page 50: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 50

Formularios

<textarea></textarea>: Área de texto de múltiples líneas.

Los atributos que podemos utilizar son:

• name=“”: Nombre del campo.

• cols=“num”: Número de columnas de texto visibles.

• rows=“num”: Número de filas de texto visibles.

Page 51: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 51

Eventos• Permiten realizar una acción cuando sucede un determinado evento.

Se definen como: nombreEvento=“funcionJavaScript()”

• onclick: se presiona el botón del ratón sobre un elemento.

• onmouseover: el cursor del ratón pasa sobre un elemento.

• onmouseout: el cursor del ratón sale fuera de un elemento.

• onfocus: un elemento recibe el enfoque.

• onkeypress: se presiona una tecla.

• onsubmit: al enviar un formulario.

• onreset: al resetear un formulario.

• onchange: un control pierde el enfoque y su valor ha sido modificado.

• Ejemplo:<script type="text/javascript">

function saveText() { /* acciones JavaScript */ }

</script>

<textarea id="myarea" onkeyup="saveText()"></textarea>

Page 52: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 52

Símbolos HTML

Los caracteres especiales se deben convertir en entidades HTML para que se muestren correctamente en un navegador:

á &aacute; Á &Aacute;

é &eacute; É &Eacute;

í &iacute; Í &Iacute;

ó &oacute; Ó &Oacute;

ú &uacute; Ú &Uacute;

ü &uuml; Ü &Uuml;

ñ &ntilde; Ñ &Ntilde;

(espacio) &nbsp; € &euro;

< &lt; > &gt;

& &amp; º &deg;

Page 53: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 53

CSS• Introducción • Adjuntar una hoja de estilo• Definición de estilos para etiquetas HTML• Identificadores y Clases• Estilos CSS básicos• Pseudo-clases• Capas• Más información

Page 54: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 54

Introducción

• Hojas de estilo en cascada: Cascading Style Sheets.

• Permite definir la apariencia de una Web.

• Separa el contenido de la forma.

• Permite a los diseñadores mantener un control mucho más preciso

sobre la apariencia.

• El W3C (World Wide Web Consortium) es el encargado de formular

su especificación:

• 1ª versión → CSS 1 (1996)

• Última versión → CSS 2.1 (2011)

Page 55: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 55

Introducción

• En versiones antiguas de HTML se añadía el formato dentro de las propias etiquetas:<font face="verdana" color="blue" size="12">Texto</font>

• Desventajas:• Obligaba a especificar el mismo formato en todas las etiquetas

para tener un diseño consistente. • Al cambiar un formato hay que cambiarlo en todas las etiquetas.

• Con CSS, las etiquetas HTML no deben proporcionar información sobre apariencia.

Page 56: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 56

Ventajas del uso de CSS

• Control centralizado.

• Fácil actualización.

• Mayor claridad en el código.

• Menor tamaño.

• Uso de hojas de estilo locales (accesibilidad).

• Personalización según dispositivo (temas, impresora,

dispositivo móvil).

Page 57: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 57

Adjuntar una hoja de estilo

Puede ser adjuntada de tres formas diferentes:

• Hoja de estilo externa

• Hoja de estilo interna

• Estilo en línea (inline)

Page 58: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 58

Hoja de estilo externa

• La hoja de estilo que está almacenada en un archivo diferente:

<html>

<head>

<link rel="stylesheet" type="text/css" href="estilo.css"/>

...

</head>

• Opción recomendada. • Separa completamente el estilo del contenido.

Page 59: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 59

Hoja de estilo interna

• Los estilos CSS se escriben dentro del propio documento HTML:

<html>

<head>

<STYLE type="text/css">

<!--

H1 {color:blue; text-align:center}

// -->

</STYLE>

</head>

• Solo usar para: diferenciar uno de los ficheros HTML de nuestra Web.

Page 60: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 60

Estilo en línea (inline)

• Definir un estilo directamente dentro de una etiqueta HTML:

<h1 style="color: blue; font-size: 16pt;"> … </h1>

• Solo usar para: un estilo especial que se va a usar en un único caso.

• No es recomendable su uso de forma generalizada, pues genera:

• Inconsistencias

• Dificultades en actualización

• Rompe la separación estilo / contenido

• Mayor tamaño de código

Page 61: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 61

Definición de estilos para etiquetas HTML

• Para definir una etiqueta HTML usamos la sintaxis:

etiqueta {

estilo CSS 1;

estilo CSS 2;

...

}

• Podemos definir varias etiquetas a la vez separándolas con comas:

etiqueta1, etiqueta2, etiqueta3 {

estilos CSS;

}

Page 62: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 62

Definición de estilos para etiquetas HTML

• Definir etiquetas “dentro” de otras etiquetas.

contenedor etiqueta {

estilos CSS;

}

• Por ejemplo, definir el estilo de un enlace cuando esté dentro de un párrafo:

p a {

estilos CSS;

}

El estilo solo se aplicará cuando la etiqueta redefinida se encuentre dentro de la etiqueta contenedora.

Page 63: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 63

Identificadores y Clases

• Permiten crear clases de estilos aplicables a etiquetas HTML, con la diferencia de:

• Identificador: único en todo el documento HTML.

#identificador { estilos CSS; }

• Clases: pueden repetirse.

.clase { estilos CSS; }

• Los identificadores se suelen usar con etiquetas "neutras" como <div> o <span>, para marcar partes de un documento.

Page 64: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 64

Identificadores y Clases

• En HTML usamos “id” para asignar una clase tipo identificador y “class” para usar una clase:

<div id="capitulo">

<p>...</p>

<p class="destacado">....</p>

</div>

• En la hoja de estilos tendríamos:

#capitulo {

estilos CSS;

}

.destacado { estilos CSS;}

Page 65: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 65

Identificadores y Clases

• También podemos usar estilos contenedores:

#identificador etiqueta {

estilos CSS;

}

• O aplicar estilos sólo a una determinada etiqueta:

etiqueta#identificador {

estilos CSS

}

.clase etiqueta { estilos CSS;}

etiqueta.clase { estilos CSS}

Page 66: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 66

Estilos CSS

• La sintaxis básica para definir un estilo es:

atributo: valor;

• Los estilos se separan con punto y coma (;).

• Después del atributo se ponen dos puntos (y no un igual).

• Unidades de medida: • píxeles (px)

• puntos (pt)

• centímetros (cm)

• pulgadas (in)

Page 67: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 67

Estilos de Fuente

• color: valor RGB | nombre de color (white, black, gray, blue, red, green, yellow)

color: #009900; color: red;

• font-size: xx-small | x-small | small | medium | large | x-large | xx-large | Unidades de CSS

font-size: 12pt; font-size: x-large;

• font-family: serif | sans-serif | cursive | fantasy | monospace | Nombre de fuente

font-family: arial,helvetica; font-size: fantasy;

• font-weight: normal | bold | bolder | lighter | 100 | 200 | ... | 900

font-weight: bold; font-weight: 200;

• font-style: normal | italic | oblique

font-style: normal; font-style: italic;

Page 68: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 68

Estilos de Párrafo

• line-height: normal | unidades CSS

line-height: 12px; line-height: normal;

• text-decoration: none | underline | overline | line-through

text-decoration: none; text-decoration: underline;

• text-align: left | right | center | justify

text-align: right; text-align: center;

• text-indent: Unidades CSS

text-indent: 10px; text-indent: 2in;

• text-transform: capitalize | uppercase | lowercase | none

text-transform: none; text-transform: capitalize;

Page 69: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 69

Estilos de Fondo

• background-color: Un color, con su nombre o su valor RGB

background-color: green;

background-color: #000055;

• background-image: El nombre de la imagen con su camino relativo o

absoluto

background-image: url(mármol.gif);

background-image: url(http://www.url.com/fondo.gif)

Page 70: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 70

Estilos para Cajas

• width o height: Unidades CSS | Porcentaje

width: 50px; width: 100%; height: 15px;

• margin: arriba dcha abajo izqda | arriba dcha abajo | arriba-abajo izqda-dcha | 4 márgenes

margin: 4px 2px 1px 2px; margin: 4px;

También podemos usar: margin-left, margin-right, margin-top, margin-bottom

• padding: arriba dcha abajo izqda | arriba dcha abajo | arriba-abajo izqda-dcha | 4 márgenes

padding: 4px 2px 1px 2px; padding: 4px;

También podemos usar: padding-left, padding-right, padding-top, padding-bottom

Page 71: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 71

Estilos para Cajas

CONTENIDO

margin

padding

border

Page 72: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 72

Estilos para Cajas

• border-color: color RGB o nombre de color

border-color: red; border-color: #ffccff;

Podemos usar: border-top-color, border-right-color, border-bottom-color, ...

• border-style: none | dotted | solid | double | groove | ridge | inset | outset

border-style: solid; border-style: double;

• border-width: Unidades CSS

border-width: 10px; border-width: 0.5in;

• border: <grosor> <tipo> <color>

border: 2px solid red;

También podemos usar: border-top, border-right, border-bottom y border-left

Page 73: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 73

Pseudo-clases

• Permiten definir un estilo solo cuando suceda un determinado evento o se den unas condiciones:

• a:link - enlace que no ha sido explorado por el usuario.

• a:visited - enlaces ya visitados.

• a:active - enlace seleccionado con el ratón.

• a:hover - enlace con el puntero del ratón encima, pero no seleccionado.

• a:focus - enlace con el foco del sistema. También puede ser usado para un input.

• p:first-letter - primera letra de un párrafo.

• p:first-line - primera línea de un párrafo.

• Por ejemplo:

a:hover { color: blue; }

a:visited { color: darkgreen; }

p:first-letter { color: green; font-size: x-large; }

Page 74: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 74

Capas

• float: none | left | right

Sirve para alinear un elemento a la izquierda o la derecha de un elemento anterior.

• clear: none | right | left

Indica que no se permiten elementos por ese lado del objeto.

float: left; float: left; float: left;

clear: left;

Page 75: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 75

Capas

• position:relative; - Su posición depende de la de los demás.

• position:absolute; - Coloca los elementos en una posición exacta.

• top, bottom, left, right - Para indicar la posición.

position: relative;top: 10px;left: 10px;

position: absolute;top: 10px;left: 10px;

Page 76: Programación web para móviles...• La Web móvil es la misma Web que la de escritorio, utiliza: • la misma arquitectura. • las mismas tecnologías. • Pero existen claras diferencias

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2011-2012 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción - 76

¿Preguntas...?