30
Responsive Web Design Interfaces Web Adaptables al dispositivo empleando HTML5 y CSS3 Adrián Alonso Vega RESPONSIVE DISPOSITVOS CSS3 ADAPTABLE HTML5 1/32

Responsive Web Design

Embed Size (px)

Citation preview

Page 1: Responsive Web Design

Responsive Web Design Interfaces Web Adaptables al dispositivo

empleando HTML5 y CSS3

Adrián Alonso Vega

RESPONSIVE DISPOSITVOS CSS3 ADAPTABLE HTML5

1/32

Page 2: Responsive Web Design

Introducción

Este proyecto tiene como objetivo presentar la filosofía “Responsive Web Design” que actualmente se encuentra en auge

• 5000 millones de dispositivos conectados a Internet • En 2020, 31.000 millones de dispositivos • Triplicada la venta de tablets en mercado español

BUSCAR SOLUCIONES

Adaptar UI a tamaños y resoluciones diversas

• 2000. Páginas webs optimizadas a resolución • 2007. Lanzamiento de Iphone • 2008. W3C en “Mobile Best Practices” definió el concepto One Web • 2010. Responsive Web Design por Ethan Marcote

ADELANTARSE AL FUTURO UNA WEB PARA GOBERNARLOS A TODOS

2

Page 3: Responsive Web Design

¿Qué es Responsive Web Design?

• Filosofía para solucionar problemas de diseño para la diversidad de dispositivos

• Una misma web para todo tipo de dispositivo (Un solo código) • No debe importar resoluciones, tamaños ni orientaciones, la web

debe adaptarse al dispositivo

3 CLAVES: Media Queries Proporciones Elementos Flexible

3

Page 4: Responsive Web Design

Crecimiento del dispositivo Móvil

• En India el uso del dispositivo móvil ha superado al de escritorio

• Se estima que entre finales de este año y 2015 el dispositivo móvil reine sobre el de escritorio a nivel global

• Comercio electrónico cada vez más importante en estos dispositivos

• En 2012 3000 millones de dólares mas que en 2011 en EBAY

• En 2011 el tráfico de Twitter fue del 55% • En 2011, 1 de cada 7 búsquedas en Google a través de dispositivo

móvil • Actualmente, 68% de penetración móvil en Facebook

Dispositivos indispensables en nuestras vidas, siempre se llevan encima.

4/30

Page 5: Responsive Web Design

Aplicación Nativa vs Aplicación Web

- Fácil Mantenimiento

- Última versión actualizada

- No requiere supervisión

- En cualquier plataforma.

- Muy eficientes

- Características del dispositivo

- Apoyo de los markets de apps

- Compatibilidad con navegadores

- Requieren conexión a internet

- Privacidad

- Propio entorno y lenguaje

- Mayor coste

- Necesario portar para otras

plataformas

VENTAJAS

INCONVENIENTES

VENTAJAS

INCONVENIENTES

5/30

Page 6: Responsive Web Design

6/30

Page 7: Responsive Web Design

Tipos de Layouts

Fijos

Elásticos

7/30

Page 8: Responsive Web Design

Media Queries

@media screen and (min-width: 960px) { /* Código CSS*/ }

MAX-WIDTH MIN-WIDTH ORIENTATION MIN-DEVICE-WIDTH

8/30

Page 9: Responsive Web Design

Viewport

• Zona visible del navegador • Por defecto, navegadores muestran sitio completo • Gracias a la meta viewport definimos

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

9/30

Page 10: Responsive Web Design

Medidas Relativas

#column1 { width: 45%; } #column2 { width: 30%; } #column3 { width: 35%; }

CAMBIAR LA FORMA DE PENSAR

#wrapper { width: 90%}

10/30

Page 11: Responsive Web Design

Imágenes Flexibles

img { max-width: 100%;}

11/30

Page 12: Responsive Web Design

Fuentes Flexibles

<body> <p> Responsive <span>Design</span> mola! </p> </body>

body{ font-size: 100%}

14px/16px= 0.875 em

p { font-size: 0.875em}

18px/14px = 1.2757em p span { font-size: 1.2857em }

12/30

Page 13: Responsive Web Design

Mostrando y ocultando contenido

display:none

visibility

Inconveniente: Se carga todo aunque no se muestre

13/30

Page 14: Responsive Web Design

Rendimiento Web

Preocupante, por que mostrar la web en móvil requiere un coste Objetivo: Mejorar experiencia de usuario

Recomendaciones: • Emplear herramientas para analizar tiempo de cargas y evaluar rendimiento • No abusar de display:none • CSS Y JS en únicos ficheros, evitar muchas peticiones HTTP • Evitar embeber CSS Y JS, siempre en ficheros, se cachean • Minimizar código • CSS en el header y JS al final. • Evitar redireccionamientos

14/30

Page 15: Responsive Web Design

Compatibilidad de Navegadores

CROSS BROWSER: Diseño de páginas webs que se ven y se comportan exactamente igual sin importar el navegador

SOLUCIONES: Hojas de estilos específicas

Validar HTML y CSS RESET CSS

15/30

Page 16: Responsive Web Design

IE y los MediaQueries

Microsoft no da soporte a IE7 ni IE8 para interpretar mediaqueries

SOLUCION: RESPOND.JS

<script type=”text/javascript” src=”js/respond.min.js”></script>

https://github.com/scottjehl/Respond)

16/30

Page 17: Responsive Web Design

Librería javascript que detecta funcionalidades de HTML5 y CSS3 que son compatibles con el navegador. Permite escribir CSS y Javascript condicional

if (Modernizr.canvas) { // Pintar Canvas } else { alert(‘Su navegador no soporta la funcionalidad HTML5 Canvas') ; }

17/30

Page 18: Responsive Web Design

Ventajas de RWD

• Reducción de costes de desarrollo, una sola implementación • Eficiencia al realizar procesos de mantenimiento y

actualización • Mejora de la usabilidad, experiencia de usuario única • Google premia RWD, posicionamiento web • Informes de tráfico mas reales • Beneficio de tecnologías móviles • Innovador

Desventajas de RWD

• Tiempos de carga en dispositivos móviles • Mayor tiempo de optimización de diseño y de código • Todo el mundo quiere cambiar su web a Responsive • Compatibilidad con navegadores

18/30

Page 19: Responsive Web Design

Técnicas de Implementación de RWD

MOSTLY FLUID

COLUMN DROP

LAYOUT SHIFTER

TINY TWEAKS

19/30

Page 20: Responsive Web Design

Técnicas de Implementación de RWD

OFF CANVAS

20/30

Page 21: Responsive Web Design

¿Cómo probar RWD?

Existen multitud de herramientas Online, que nos permiten probar dispositivos del mercado, redimensionar nuestro navegador, plugins que nos proporcionan las dimensiones del viewport

Quirktools.com / Screenfly (https://quirktools.com/screenfly/)

21/30

Page 22: Responsive Web Design

¿Qué es un framework front-end?

Un framework para front-end es un conjunto de conceptos y herramientas que nos facilita considerablemente el trabajo de diseñar una web proporcionándonos una base o esqueleto para nuestros nuevos diseño

- Agilidad y rapidez

- Funcionalidad

- Apoyo de la comunidad web

- Emplea buenas prácticas

- Abstracción para decisiones como

breakpoints

- Pérdida de Libertad

- Código menos flexible

- Menos control

- Curva de aprendizaje

INCONVENIENTES VENTAJAS

22/30

Page 23: Responsive Web Design

Twitter Bootstrap es una colección de herramientas de software libre para la creación de sitios y aplicaciones web. Contiene plantillas de diseño basadas en HTML y CSS con tipografías, formularios, botones, gráficos, barras de navegación y demás componentes de interfaz, además de extensiones de JavaScript.

Agilidad Multinavegador

Integrable Ligero

http://twitter.github.io/bootstrap/

23/30

Page 24: Responsive Web Design

Estructura del Framework

- bootstrap/ -- css/ --- bootstrap.css --- bootstrap.min.css --- bootstrap-responsive.css --- bootstrap-responsive.min.css -- js/ --- bootstrap.js --- bootstrap.min.js -- img/ --- glyphicons-halflings.png --- glyphicons-halflings-white.png

24/30

Page 25: Responsive Web Design

¿Cómo incluir Bootstrap en nuestra

aplicación?

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Bootstrap</title> <link rel="stylesheet" href="css/bootstrap.min.css"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body> <p>!Hola Bootstrap!</p> </body> </html>

25/30

Page 26: Responsive Web Design

Sistema de Columnas

• Layout fijo: 12 columnas cubriendo 940 px • Layout fluido: 12 columnas basado en breakpoints

26/30

Page 27: Responsive Web Design

Fluido vs Fijo

<div class="container-fluid"> <div class="row-fluid"> <div class="span4"> 4/12 </div> <div class="span8"> <div class="row-fluid"> <div class="span5"> 5/12 </div> <div class="span2"> 2/12 </div> <div class="span5"> 5/12 </div> </div> </div> </div> </div>

<div class="container"> <div class="row"> <div class="span4"> 4/12 </div> <div class="span8"> <div class="row"> <div class="span3"> 3/8 </div> <div class="span2"> 2/8</div> <div class="span3"> 3/8 </div> </div> </div> </div> </div>

27/30

Page 28: Responsive Web Design

Ejemplo RWD con Bootstrap

28/30

Page 29: Responsive Web Design

29/30

Page 30: Responsive Web Design

Muchas Gracias

Espero que haya sido

una presentación

agradable para ustedes

• Importancia del usuario móvil • Buenas experiencias de usuario y accesibilidad • Objetivo: llegar a todo tipo de usuario sin excepción de

navegador o dispositivo • Herramientas suficientes: HTML5 y CSS3, mediaqueries,… • Empleando frameworks o construir el sitio desde cero

Conclusión

30/30