SlideShare uma empresa Scribd logo
1 de 73
Desarrollo web para
      móviles
 Alternativas a las apps nativas


                          Miguel Monreal
                           @monrealista
                          COO en iZenius
Sobre
Antes de empezar ...


     ¿Por qué alternativas a
        las apps nativas?
Razón 1: Pereza
Nuestros usuarios NO instalarán nuestra app
si no están fidelizados o tienen una ventaja
                muy grandeCongreso web Zaragoza 2012
Razón 2: Precio
Desarrollar un solución para cada plataforma
                   es caro
                          Congreso web Zaragoza 2012
Podríamos pensar...

    Mi web se ve bien, sólo
    tienen que hacer zoom
¡NO!
Es necesario contextualizar
       ¡Diferente navegación!
     Buscamos otra información
¿Prefieres navegar así?
¿O mejor así?
Tenemos que ofrecer a
nuestro usuario la mejor
experiencia de usuario
La forma de conseguir
 esta experiencia de
       usuario
 ha generado debate
http://bradfrostweb.com/blog/notes/this-is-the-web/
http://bradfrostweb.com/blog/notes/this-is-the-web/
http://bradfrostweb.com/blog/notes/this-is-the-web/
There is no Mobile Web.
  There is only The Web, which we
view in different ways. There is also
  no Desktop Web. Or Tablet Web.
              Thank you

            Stephen Hay. There is not mobile web
The primary design principle
   underlying the Web's
 usefulness and growth is
        universality

                    Tim Berners-Lee
90% of all websites are too
 simple to justify the time
   and money it takes to
develop a separate mobile
         version.

               Common Sense Thinker
Y mientras tanto ...
Varias filosofías



  - Versión móvil separada

  - Adaptar la web
Creando una versión
móvil por separado con
¿Qué NO es jQuery

 • Una framework para trabajar con
  JS
 • Un compilador de apps
 • Una solución que sirva para todo.
Qué SÍ es jQuery Mobile


  Un framework UI (interfaz de usuario)
  multiplataforma que permite crear
  webapps para móviles y tablets táctiles.
Características

 • Etiquetas HTML 5 (no intrusivo) y CSS

   3
 • OpenSource
 • Ligero (31 Kb)
 • Soporte para accesibilidad
Y más!

• Construido sobre JQuery
• Mejora progresiva
• Personalizable
• API JS disponible
• Buena documentación (jquerymobile.com)
Requisitos

Inicialmente, no necesitarás saber:
• HTML 5 / CSS 3
• JS
• JQuery
Compatibilidad




    Compatibilidad A/B/C en http://jquerymobile.com/gbs/
¿Qué incluye jQuery



• Un fichero JS
• Una hoja de estilos CSS
• Imágenes
¡Ejercicios!




            Ejercicios de descargables en:
   http://www.izenius.com/events/cw12/mobile/jqm.zip
Adaptando la web
Responsive Web Design
El contenido manda!




                      http://mediaqueri.es/pal/
Responsive web design


  A flexible grid (with flexible images) that incorporate
  media queries to create a responsive,adaptive layout.
  Ethan Marcotte
Flexible layout




            http://www.slideshare.net/livefront/responsive-design-7877412
¿Como se construye un layout



Utilizar uno hecho -> http://cssgrid.net/

Construirlo nosotros mismos.
Sitio de ejemplo

    .container (940 px)


    .sidebar                .main
    (305 px)              ( 590 px)
.container

 Se le suele poner un max-width alto o un
 width porcentual.

  .container {             .container {
      max-width: 1300px;       width: 90%;
  }                        }
Fórmula



   target / context = result


target width sizearent width size
                p
.sidebar

.sidebar {
    width: 305px;
}
.sidebar

.sidebar {            target / context = result
    width: 305px;
}
                      305 / 940 = 0.32446809

                                tamaño del
                    tamaño sidebar
                                padre
.sidebar

.sidebar {             target / context = result
    width: 305px;
}
                       305 / 940 = 0.32446809

                                tamaño del
                    tamaño sidebar
                                padre
.sidebar {
    width: 32.446809%; /* 305px/940px */
}
Sitio de ejemplo

    .container (940 px)


    .sidebar                .main
    (305 px)              ( 590 px)
.main

.main {
    width: 590px;
}
.main

.main {                target / context = result
    width: 590px;      590 / 940 = 0.62765957
}


                               tamaño del
                    tamaño mainpadre
.main

.main {                 target / context = result
    width: 590px;       590 / 940 = 0.62765957
}


                               tamaño del
                    tamaño mainpadre

.main {
    width: 62.765957%; /* 590px/940px */
}
Sitio de ejemplo

    .container (940 px)


    .sidebar              .main
    (305 px)        margin-left: 325 px
Conversión


When setting flexible margins on an element,
your context is the width of the element’s container.
Ethan Marcotte (Responsive Web Design, 35)
Margin
.main {
    margin-left:325px;
    width: 62.765957%;
    /* 590px/940px */
}
Margin
.main {
                            target / context = result
    margin-left:325px;
    width: 62.765957%;     325 / 940 = 0,34574468085106
    /* 590px/940px */
}
                                   tamaño del
                         margen main
                                   padre
Margin
.main {
                            target / context = result
    margin-left:325px;
    width: 62.765957%;     325 / 940 = 0,34574468085106
    /* 590px/940px */
}
                                   tamaño del
                         margen main
                                   padre
.main {
    width: 62.765957%; /* 590px/940px */
    margin-left: 34.574468%; /* 325px/940px */
}
Sitio de ejemplo

    .container (940 px)


    .sidebar                  .main
    (305 px)              padding: 20px
Conversión Padding


  When setting flexible padding on an element,
  your context is the width of the element itself.
  Ethan Marcotte (Responsive Web Design, 35)
Padding
.main {
    padding:20px;
    width: 62.765957%;
    /* 590px/940px */
}
Padding
.main {
                          target / context = result
    padding:20px;
    width: 62.765957%;      20 / 590 = .03389830
    /* 590px/940px */
}
                                  tamaño
                         padding main
                                  propio
Padding
.main {
                          target / context = result
    padding:20px;
    width: 62.765957%;      20 / 590 = .03389830
    /* 590px/940px */
}
                                  tamaño
                         padding main
                                  propio
.main {
    width: 62.765957%; /* 590px/940px */
    padding: 3.389830%; /* 20px/590px */
}
Flex your fonts!

   No olvidemos convertir la fuentes de PX a EM
Un pequeño truco

     html {
         font-size: 16px; /* base */
     }
     body {
         font-family: Georgia, serif;
         font-size: 62.5%; /* 1em = 10px */
     }
La fórmula!



     target / context = result

                   font size of
  target font size
                   containing element
        10px / 16px = 0.625 -> 62,5%
Sitio de ejemplo

     .container

    .sidebar      .main

                     h1 { font-size:30px}
Fuente

.main h1 {               target / context = result
    font-size:30px;
}                                 30 / 10 = 3

                                  tamaño
                          fuente h1
                                  defecto
.main h1{
    font-size: 3em; /* 30px/10px */
}
Sitio de ejemplo

     .container

    .sidebar      .main

                     h1 { font-size:30px}
                      a {font-size: 24px}
Fuente

.main h1 a {             target / context = result
    font-size:24px;
}                                 24 / 30 = 0.8em

                          fuente atamaño h1

.main h1 a{
    font-size: 0.8em; /* 24px/30px */
}
Break points


  Son lugares donde en función del ancho/alto
  del viewport, el diseño se “rompe”.
Típicos breakpoints




           http://www.slideshare.net/livefront/responsive-design-7877412
Media Queries


  @media screen and (max-width: 320px) {
    body {
      font-size: 100%;
    }
  }


                 <= 320 px
Media Queries


  @media screen and (min-width: 1024px) {
    body {
      font-size: 100%
    }
  }


                 >= 1024 px
Advanced Media
Tipo
  @media screen, print { ... }

Orientación
  @media (orientation:portrait) { ... }


Color
  @media (color) { /* Screen in color */ }

                         http://css-tricks.com/css-media-queries/
Compatibilidad




         http://www.slideshare.net/livefront/responsive-design-7877412
Compatibilidad

 Wouter van Der Graaf nos solucionó la papeleta:


  http://code.google.com/p/css3-mediaqueries-js/




            http://www.slideshare.net/livefront/responsive-design-7877412
Adaptive / Responsive design

  ¿Es lo mismo adaptive que responsive?

  Adaptive: Nosotros definimos los break points


  Responsive: El contenido define los break points
Adaptive design


 Diseñar para un contexto específico:
  • Dispositivo (iphone, ipad ...)
  • Tamaño de pantalla (1024x768, 320x480...)
  • Resolución (retina display ...)
Responsive design


 Responsive designs provide continuity between contexts
 Responsive designs are portable and accessible.
 Ethan Marcotte
Flex your media

 Modern browsers               FU.. IE 6

 img, video, object {   img, video, object {
     max-width: 100%;       width: 100%;
 }                      }
¡Ejercicios!




             Ejercicios de descargables en:
 http://www.izenius.com/events/cw12/mobile/responsive.zip
Muchas gracias!

¿Preguntas?



                     Miguel Monreal
                       @monrealista
                  mmonreal@izenius.co
                                   m

Mais conteúdo relacionado

Destaque

Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge Pintado
CongresoWeb
 
Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta Phonegap
CongresoWeb
 

Destaque (20)

Taller Email Marketing para Pymes
Taller Email Marketing para PymesTaller Email Marketing para Pymes
Taller Email Marketing para Pymes
 
Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge Pintado
 
Responsive web y Wordpress
Responsive web y WordpressResponsive web y Wordpress
Responsive web y Wordpress
 
20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio web20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio web
 
Seo internacional - Congreso Web 2012
Seo internacional - Congreso Web 2012Seo internacional - Congreso Web 2012
Seo internacional - Congreso Web 2012
 
Chuleta SEO
Chuleta SEOChuleta SEO
Chuleta SEO
 
100 ejemplos de como dar a conocer un sitio web
100 ejemplos de como dar a conocer un sitio web100 ejemplos de como dar a conocer un sitio web
100 ejemplos de como dar a conocer un sitio web
 
SEO para Móviles - Congreso Web 2012 - Aleyda Solis
SEO para Móviles - Congreso Web 2012 - Aleyda SolisSEO para Móviles - Congreso Web 2012 - Aleyda Solis
SEO para Móviles - Congreso Web 2012 - Aleyda Solis
 
Es la Estrategia ¡estúpido!
Es la Estrategia ¡estúpido!Es la Estrategia ¡estúpido!
Es la Estrategia ¡estúpido!
 
El briefing no existe. Búscate la vida.
El briefing no existe. Búscate la vida.El briefing no existe. Búscate la vida.
El briefing no existe. Búscate la vida.
 
SEO Una profesión en auge
SEO Una profesión en augeSEO Una profesión en auge
SEO Una profesión en auge
 
Taller places
Taller placesTaller places
Taller places
 
CW12 Medir estrategias de marketing online
CW12 Medir estrategias de marketing onlineCW12 Medir estrategias de marketing online
CW12 Medir estrategias de marketing online
 
Inventando métricas en Social Media
Inventando métricas en Social MediaInventando métricas en Social Media
Inventando métricas en Social Media
 
Taller adwords ppc - cwzgz 2012
Taller adwords ppc - cwzgz 2012Taller adwords ppc - cwzgz 2012
Taller adwords ppc - cwzgz 2012
 
Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta Phonegap
 
Introducción a CRO - Conversion Rate Optimization
Introducción a CRO - Conversion Rate OptimizationIntroducción a CRO - Conversion Rate Optimization
Introducción a CRO - Conversion Rate Optimization
 
Sitios web eficaces. Ricardo Tayar. Congreso Web Zaragoza 2012
Sitios web eficaces. Ricardo Tayar. Congreso Web Zaragoza 2012Sitios web eficaces. Ricardo Tayar. Congreso Web Zaragoza 2012
Sitios web eficaces. Ricardo Tayar. Congreso Web Zaragoza 2012
 
Linkbuilding cwzgz mayo2012
Linkbuilding cwzgz mayo2012Linkbuilding cwzgz mayo2012
Linkbuilding cwzgz mayo2012
 
Usabilidad para Apicaciones Móviles
Usabilidad para Apicaciones MóvilesUsabilidad para Apicaciones Móviles
Usabilidad para Apicaciones Móviles
 

Semelhante a Desarrollo de aplicaciones móviles

Html4 imagnes
Html4 imagnesHtml4 imagnes
Html4 imagnes
cinco81
 

Semelhante a Desarrollo de aplicaciones móviles (20)

Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Diseñando para la Web Móvil
Diseñando para la Web MóvilDiseñando para la Web Móvil
Diseñando para la Web Móvil
 
Presentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web DesignPresentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web Design
 
Semana 3 Responsive Design y Media Queries
Semana 3   Responsive Design y Media QueriesSemana 3   Responsive Design y Media Queries
Semana 3 Responsive Design y Media Queries
 
HTML Tour - Responsive Web Design
HTML Tour - Responsive Web DesignHTML Tour - Responsive Web Design
HTML Tour - Responsive Web Design
 
Imagenes
ImagenesImagenes
Imagenes
 
La magia de Flutter
La magia de FlutterLa magia de Flutter
La magia de Flutter
 
Como hacer una pagina web
Como hacer una pagina webComo hacer una pagina web
Como hacer una pagina web
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front end
 
Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3
 
Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
Html4 imagnes
Html4 imagnesHtml4 imagnes
Html4 imagnes
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Samanta2
Samanta2Samanta2
Samanta2
 
Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2
 
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tabletsIntroducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
 
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
 
Formatos Piezas Creativas
Formatos Piezas CreativasFormatos Piezas Creativas
Formatos Piezas Creativas
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Desarrollo de aplicaciones móviles

  • 1. Desarrollo web para móviles Alternativas a las apps nativas Miguel Monreal @monrealista COO en iZenius
  • 3. Antes de empezar ... ¿Por qué alternativas a las apps nativas?
  • 4. Razón 1: Pereza Nuestros usuarios NO instalarán nuestra app si no están fidelizados o tienen una ventaja muy grandeCongreso web Zaragoza 2012
  • 5. Razón 2: Precio Desarrollar un solución para cada plataforma es caro Congreso web Zaragoza 2012
  • 6. Podríamos pensar... Mi web se ve bien, sólo tienen que hacer zoom
  • 7. ¡NO! Es necesario contextualizar ¡Diferente navegación! Buscamos otra información
  • 10. Tenemos que ofrecer a nuestro usuario la mejor experiencia de usuario
  • 11. La forma de conseguir esta experiencia de usuario ha generado debate
  • 15. There is no Mobile Web. There is only The Web, which we view in different ways. There is also no Desktop Web. Or Tablet Web. Thank you Stephen Hay. There is not mobile web
  • 16. The primary design principle underlying the Web's usefulness and growth is universality Tim Berners-Lee
  • 17. 90% of all websites are too simple to justify the time and money it takes to develop a separate mobile version. Common Sense Thinker
  • 19. Varias filosofías - Versión móvil separada - Adaptar la web
  • 20. Creando una versión móvil por separado con
  • 21. ¿Qué NO es jQuery • Una framework para trabajar con JS • Un compilador de apps • Una solución que sirva para todo.
  • 22. Qué SÍ es jQuery Mobile Un framework UI (interfaz de usuario) multiplataforma que permite crear webapps para móviles y tablets táctiles.
  • 23. Características • Etiquetas HTML 5 (no intrusivo) y CSS 3 • OpenSource • Ligero (31 Kb) • Soporte para accesibilidad
  • 24. Y más! • Construido sobre JQuery • Mejora progresiva • Personalizable • API JS disponible • Buena documentación (jquerymobile.com)
  • 25. Requisitos Inicialmente, no necesitarás saber: • HTML 5 / CSS 3 • JS • JQuery
  • 26. Compatibilidad Compatibilidad A/B/C en http://jquerymobile.com/gbs/
  • 27. ¿Qué incluye jQuery • Un fichero JS • Una hoja de estilos CSS • Imágenes
  • 28. ¡Ejercicios! Ejercicios de descargables en: http://www.izenius.com/events/cw12/mobile/jqm.zip
  • 30. El contenido manda! http://mediaqueri.es/pal/
  • 31. Responsive web design A flexible grid (with flexible images) that incorporate media queries to create a responsive,adaptive layout. Ethan Marcotte
  • 32. Flexible layout http://www.slideshare.net/livefront/responsive-design-7877412
  • 33. ¿Como se construye un layout Utilizar uno hecho -> http://cssgrid.net/ Construirlo nosotros mismos.
  • 34. Sitio de ejemplo .container (940 px) .sidebar .main (305 px) ( 590 px)
  • 35. .container Se le suele poner un max-width alto o un width porcentual. .container { .container { max-width: 1300px; width: 90%; } }
  • 36. Fórmula target / context = result target width sizearent width size p
  • 37. .sidebar .sidebar { width: 305px; }
  • 38. .sidebar .sidebar { target / context = result width: 305px; } 305 / 940 = 0.32446809 tamaño del tamaño sidebar padre
  • 39. .sidebar .sidebar { target / context = result width: 305px; } 305 / 940 = 0.32446809 tamaño del tamaño sidebar padre .sidebar { width: 32.446809%; /* 305px/940px */ }
  • 40. Sitio de ejemplo .container (940 px) .sidebar .main (305 px) ( 590 px)
  • 41. .main .main { width: 590px; }
  • 42. .main .main { target / context = result width: 590px; 590 / 940 = 0.62765957 } tamaño del tamaño mainpadre
  • 43. .main .main { target / context = result width: 590px; 590 / 940 = 0.62765957 } tamaño del tamaño mainpadre .main { width: 62.765957%; /* 590px/940px */ }
  • 44. Sitio de ejemplo .container (940 px) .sidebar .main (305 px) margin-left: 325 px
  • 45. Conversión When setting flexible margins on an element, your context is the width of the element’s container. Ethan Marcotte (Responsive Web Design, 35)
  • 46. Margin .main { margin-left:325px; width: 62.765957%; /* 590px/940px */ }
  • 47. Margin .main { target / context = result margin-left:325px; width: 62.765957%; 325 / 940 = 0,34574468085106 /* 590px/940px */ } tamaño del margen main padre
  • 48. Margin .main { target / context = result margin-left:325px; width: 62.765957%; 325 / 940 = 0,34574468085106 /* 590px/940px */ } tamaño del margen main padre .main { width: 62.765957%; /* 590px/940px */ margin-left: 34.574468%; /* 325px/940px */ }
  • 49. Sitio de ejemplo .container (940 px) .sidebar .main (305 px) padding: 20px
  • 50. Conversión Padding When setting flexible padding on an element, your context is the width of the element itself. Ethan Marcotte (Responsive Web Design, 35)
  • 51. Padding .main { padding:20px; width: 62.765957%; /* 590px/940px */ }
  • 52. Padding .main { target / context = result padding:20px; width: 62.765957%; 20 / 590 = .03389830 /* 590px/940px */ } tamaño padding main propio
  • 53. Padding .main { target / context = result padding:20px; width: 62.765957%; 20 / 590 = .03389830 /* 590px/940px */ } tamaño padding main propio .main { width: 62.765957%; /* 590px/940px */ padding: 3.389830%; /* 20px/590px */ }
  • 54. Flex your fonts! No olvidemos convertir la fuentes de PX a EM
  • 55. Un pequeño truco html { font-size: 16px; /* base */ } body { font-family: Georgia, serif; font-size: 62.5%; /* 1em = 10px */ }
  • 56. La fórmula! target / context = result font size of target font size containing element 10px / 16px = 0.625 -> 62,5%
  • 57. Sitio de ejemplo .container .sidebar .main h1 { font-size:30px}
  • 58. Fuente .main h1 { target / context = result font-size:30px; } 30 / 10 = 3 tamaño fuente h1 defecto .main h1{ font-size: 3em; /* 30px/10px */ }
  • 59. Sitio de ejemplo .container .sidebar .main h1 { font-size:30px} a {font-size: 24px}
  • 60. Fuente .main h1 a { target / context = result font-size:24px; } 24 / 30 = 0.8em fuente atamaño h1 .main h1 a{ font-size: 0.8em; /* 24px/30px */ }
  • 61. Break points Son lugares donde en función del ancho/alto del viewport, el diseño se “rompe”.
  • 62. Típicos breakpoints http://www.slideshare.net/livefront/responsive-design-7877412
  • 63. Media Queries @media screen and (max-width: 320px) { body { font-size: 100%; } } <= 320 px
  • 64. Media Queries @media screen and (min-width: 1024px) { body { font-size: 100% } } >= 1024 px
  • 65. Advanced Media Tipo @media screen, print { ... } Orientación @media (orientation:portrait) { ... } Color @media (color) { /* Screen in color */ } http://css-tricks.com/css-media-queries/
  • 66. Compatibilidad http://www.slideshare.net/livefront/responsive-design-7877412
  • 67. Compatibilidad Wouter van Der Graaf nos solucionó la papeleta: http://code.google.com/p/css3-mediaqueries-js/ http://www.slideshare.net/livefront/responsive-design-7877412
  • 68. Adaptive / Responsive design ¿Es lo mismo adaptive que responsive? Adaptive: Nosotros definimos los break points Responsive: El contenido define los break points
  • 69. Adaptive design Diseñar para un contexto específico: • Dispositivo (iphone, ipad ...) • Tamaño de pantalla (1024x768, 320x480...) • Resolución (retina display ...)
  • 70. Responsive design Responsive designs provide continuity between contexts Responsive designs are portable and accessible. Ethan Marcotte
  • 71. Flex your media Modern browsers FU.. IE 6 img, video, object { img, video, object { max-width: 100%; width: 100%; } }
  • 72. ¡Ejercicios! Ejercicios de descargables en: http://www.izenius.com/events/cw12/mobile/responsive.zip
  • 73. Muchas gracias! ¿Preguntas? Miguel Monreal @monrealista mmonreal@izenius.co m

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n