85
RESPONSIVE WEB DESIGN ADOLFO SANZ DE DIEGO SEPTIEMBRE 2014

Responsive Web Design (Diseño Web Adaptable)

Embed Size (px)

DESCRIPTION

En primer lugar hago una introducción, contando que es eso del 'Responsive Web Design' (Diseño Web Adaptable), que beneficios tiene, y cuento la diferencia entre 'Graceful degradation' y 'Progessive enhancement'. Seguidamente, expongo varios ejemplos de sitios web realizados con esa filosofía. Luego entro más en detalle en como conseguir sitios web adaptables: diseño fluido, sistemas de rejilla, imágenes fluidas, viewport, media queries. Para terminar enumero las 2 metodologías más utilizadas hoy en día para hacer diseños adaptables: 'Desktop First' y 'Mobile first'

Citation preview

Page 1: Responsive Web Design (Diseño Web Adaptable)

RESPONSIVEWEBDESIGN

ADOLFOSANZDEDIEGOSEPTIEMBRE2014

Page 2: Responsive Web Design (Diseño Web Adaptable)

1ELAUTOR

Page 3: Responsive Web Design (Diseño Web Adaptable)

1.1ADOLFOSANZDEDIEGOAntiguoprogramadorwebJEE(6años)Hoyendía:ProfesordeFP(6años):Hardware,SistemasOperativosRedes,Programación

FormadorFreelance(3años):Java,AndroidJavaScript,jQueryJSF,Spring,HibernateGroovy&Grails

Page 4: Responsive Web Design (Diseño Web Adaptable)

1.2ALGUNOSPROYECTOSFundadory/ocreador:HackathonLovers:TweetsSentiment:MarkdownSlides:

Co-fundadory/oco-creador:PeliTweets:PasswordManagerGenerator:

http://hackathonlovers.comhttp://tweetssentiment.com

https://github.com/asanzdiego/markdownslides

http://pelitweets.com

http://pasmangen.github.io

Page 5: Responsive Web Design (Diseño Web Adaptable)

1.3¿DONDEENCONTRARME?Minick:asanzdiegoAboutMe:GitHub:Twitter:Blog:LinkedIn:Google+:

http://about.me/asanzdiegohttp://github.com/asanzdiegohttp://twitter.com/asanzdiego

http://asanzdiego.blogspot.com.eshttp://www.linkedin.com/in/asanzdiego

http://plus.google.com/+AdolfoSanzDeDiego

Page 6: Responsive Web Design (Diseño Web Adaptable)

2INTRODUCCIÓN

Page 7: Responsive Web Design (Diseño Web Adaptable)

2.1ESTONOESLAWEB

Estonoeslaweb.Fuente:bradfostweb.com

Page 8: Responsive Web Design (Diseño Web Adaptable)

2.2ESTOESLAWEB

Estoeslaweb.Fuente:bradfostweb.com

Page 9: Responsive Web Design (Diseño Web Adaptable)

2.3¿SERÁESTOLAWEB?

¿Seráestolaweb?.Fuente:bradfostweb.com

Page 10: Responsive Web Design (Diseño Web Adaptable)

2.4ESTADÍSTICAS

Estadísticas.Fuente:gs.statcounter.com

Page 11: Responsive Web Design (Diseño Web Adaptable)

2.5ELDESARROLLADOR

Page 12: Responsive Web Design (Diseño Web Adaptable)

2.6RESPONSIVEWEBDESIGN

ResponsiveWebDesign.Fuente:

Page 13: Responsive Web Design (Diseño Web Adaptable)

2.7CONTENTISLIKEWATER

Page 14: Responsive Web Design (Diseño Web Adaptable)

2.8GRACEFULDEGRADATIONSedesarrollaparalosúltimosnavegadores,conlaposibilidaddequefuncioneennavegadoresantiguos.

Gracefuldegradation.Fuente:bradfostweb.com

Page 15: Responsive Web Design (Diseño Web Adaptable)

2.9PROGESSIVEENHANCEMENTSedesarrollaunaversiónbásicacompletamenteoperativa,conlaposibilidaddeirañadiendomejorasparalosúltimosnavegadores.

Progressiveenhancement.Fuente:bradfostweb.com

Page 16: Responsive Web Design (Diseño Web Adaptable)

2.10BENEFICIOS(I)Reduccióndecostos.Puesnohayquehacervariasversionesdeunamismapágina.Eficienciaenlaactualización.Elsitiosolosedebeactualizarunavezysevereflejadaentodaslasplataformas.Mejoralausabilidad.Elusuariovaatenerexperienciasdeusuarioparecidasindependientementedeldispositivoqueestéusandoencadamomento

Page 17: Responsive Web Design (Diseño Web Adaptable)

2.11BENEFICIOS(II)MejoraelSEO.SegúnlasGuidelinesdeGoogleeltenerunawebqueseveacorrectamenteenmóvilesesunfactorquetienenencuentaalahoradeelaborarlosrankings.Impactoenelvisitante.Estatecnologíaporsernuevageneraimpactoenlaspersonasquelaveanenacción,loquepermitiráasociaralamarcaconcreatividadeinnovación.

Page 18: Responsive Web Design (Diseño Web Adaptable)

3EJEMPLOS

Page 19: Responsive Web Design (Diseño Web Adaptable)

3.1MATTKERSLEYPáginadetesteodeMattKersleyhttp://mattkersley.com/responsive

Page 20: Responsive Web Design (Diseño Web Adaptable)

3.2DCONSTRUCT2011http://2011.dconstruct.org

EjemploRWD:dConstruct2011.Fuente:ecbloguer.com

Page 21: Responsive Web Design (Diseño Web Adaptable)

3.3BOSTONGLOBEhttp://www.bostonglobe.com

EjemploRWD:BostonGlobe.Fuente:ecbloguer.com

Page 22: Responsive Web Design (Diseño Web Adaptable)

3.4FOODSENSEhttp://foodsense.is

EjemploRWD:FoodSense.Fuente:ecbloguer.com

Page 23: Responsive Web Design (Diseño Web Adaptable)

3.5DERENKESKINhttp://www.deren.me

EjemploRWD:DerenKeskin.Fuente:ecbloguer.com

Page 24: Responsive Web Design (Diseño Web Adaptable)

4DISEÑOFLUIDO

Page 25: Responsive Web Design (Diseño Web Adaptable)

4.1DEPXAEMFormula:target÷context=resulttarget-font-sizequetenemosenpíxelescontext-font-sizebase(pordefecto16pxenlamayoríadelosnavegadores)result-resultadoqueobtenemosenem

EsrecomendableindicarelcálculorealizadojuntoalaregladeCSS.

Page 26: Responsive Web Design (Diseño Web Adaptable)

4.2ONLINEhttp://pxtoem.com

Page 27: Responsive Web Design (Diseño Web Adaptable)

4.3EJEMPLOEjemploparaponer13pxpordefectoyluego18pxparah1enem:body{font:13px;}

h1{font-size:1.3846em;/*18px/13px=1.3846em*/}

Page 28: Responsive Web Design (Diseño Web Adaptable)

4.4EMSEHEREDAImportante:lasmedidasemseheredan,esdecir,unelementodentrodeunelementotomarácomoreferenciaelsuperiorparacalcularcuántoesunem.Porejemplo,sitenemosunacajadondehemosdefinidounafuentecomo0.5emydentrodeesacajaotraconunafuente0.25em,estaúltimafuentetendrá1/4detamañorespectoala1/2detamañodelafuentegeneral.

Page 29: Responsive Web Design (Diseño Web Adaptable)

4.5DEPXA%

Cálculoporcentajes.Fuente:aloud.es

Page 30: Responsive Web Design (Diseño Web Adaptable)

5SISTEMADEREJILLA

Page 31: Responsive Web Design (Diseño Web Adaptable)

5.1EJEMPLO1columnaparaxs(<768px)2columnasparasm(≥768px)3columnasparamd(≥992px)4columnasparalg(≥1200px)

Page 32: Responsive Web Design (Diseño Web Adaptable)

5.2USODECLASESUsodeclasesenelHTMLcomoBootstraphttp://getbootstrap.com/css

Page 33: Responsive Web Design (Diseño Web Adaptable)

5.3EJEMPLOBOOTSTRAP<divclass="row"><divclass="col-xs-12col-sm-6col-md-4col-lg-3">1</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">2</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">3</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">4</div></div>

Page 34: Responsive Web Design (Diseño Web Adaptable)

5.4SEMÁNTICOTheSemanticGridSystem:Mediantelayouts,ysinnecesidaddeusarclasesenHTML.http://semantic.gs

Page 35: Responsive Web Design (Diseño Web Adaptable)

5.5EJEMPLOSEMANTIC.GS(HTML)<header>...</header><article>...</article><aside>...</aside>

Page 36: Responsive Web Design (Diseño Web Adaptable)

5.6EJEMPLOSEMANTIC.GS(CSS)@column-width:60;@gutter-width:20;@columns:12;

header{.column(12);}article{.column(9);}aside{.column(3);}

@media(max-device-width:960px){article{.column(12);}aside{.column(12);}}

Page 37: Responsive Web Design (Diseño Web Adaptable)

6IMÁGENESFLUIDAS

Page 38: Responsive Web Design (Diseño Web Adaptable)

6.1TAMAÑOMÁXIMOFijaruntamañomáximo(silaimagennollega,sequedaconsutamaño):img{max-width:400px;}

Page 39: Responsive Web Design (Diseño Web Adaptable)

6.2ANCHODELCONTENEDOR(I)Ocuparelanchodelcontenedor(silaimagennollega,sedeforma):img{width:100%;}

Page 40: Responsive Web Design (Diseño Web Adaptable)

6.3ANCHODELCONTENEDOR(II)Ocuparelanchodelcontenedor(silaimagennollega,sequedaconsutamaño):img{max-width:100%;}

Page 41: Responsive Web Design (Diseño Web Adaptable)

6.4ANCHODELCONTENEDOR(III)Ocuparelanchodelcontenedorhastaunmáximo(silaimagennollega,sedeforma):img{width:100%;max-width:400px;}

Page 42: Responsive Web Design (Diseño Web Adaptable)

6.5BACKGROUNDSParalosbackgroundusarcover

.background-fluid{width:100%;background-image:url(img/water.jpg);background-size:cover;}

Page 43: Responsive Web Design (Diseño Web Adaptable)

7VIEWPORT

Page 44: Responsive Web Design (Diseño Web Adaptable)

7.1ORÍGENESLaetiquetametaparaelviewportfueintroducidaporAppleenSafariparamóvilesenelaño2007,paraayudaralosdesarrolladoresamejorarlapresentacióndesusaplicacioneswebenuniPhone.Hoyendíahasidoampliamenteadoptadaporelrestodenavegadoresmóviles,convirtiéndoseenunestándardefacto.

Page 45: Responsive Web Design (Diseño Web Adaptable)

7.2¿QUÉNOSPERMITE?Laetiquetaviewportnospermitedefinirelancho,altoyescaladeláreausadaporelnavegadorparamostrarcontenido.

Page 46: Responsive Web Design (Diseño Web Adaptable)

7.3TAMAÑOAlfijarelancho(width)oalto(height)delviewport,podemosusarunnúmerofijodepixeles(ej:320px,480px,etc)ousardosconstantes,device-widthydevice-heightrespectivamente.Seconsideraunabuenaprácticaconfigurarelviewportcondevice-widthydevice-height,enlugardeutilizarunanchooaltofijo.

Page 47: Responsive Web Design (Diseño Web Adaptable)

7.4ESCALALapropiedadinitial-scalecontrolaelniveldezoominicialalcargarselapágina.Laspropiedadesmaximum-scale,minimum-scalecontrolanelnivelmáximoymínimodezoomqueselevaapermitirusaralusuario.Lapropiedaduser-scalable[yes|no]controlansielusuariopuedeonohacerzoomsobrelapágina.

Page 48: Responsive Web Design (Diseño Web Adaptable)

7.5ACCESIBILIDADEsunabuenaprácticadeaccesibilidadnobloquearlasopcionesdezoomalusuario.

Page 49: Responsive Web Design (Diseño Web Adaptable)

7.6EJEMPLOUnejemploadaptableyaccesiblesería:

<metaname="viewport"content="width=device-width,initial-scale=1,user-scalable=yes">

Page 50: Responsive Web Design (Diseño Web Adaptable)

8MEDIAQUERIES

Page 51: Responsive Web Design (Diseño Web Adaptable)

8.1¿QUÉSON?UnMediaQuerynosólonospermiteseleccionareltipodemedio(all,braille,print,proyection,

screen,tty,tv,etc.),sinoademásconsultarotrascaracterísticassobreeldispositivoqueesta

mostrandolapágina.

Page 52: Responsive Web Design (Diseño Web Adaptable)

8.2EJEMPLOEjemplo:aplicardistintasreglasCSScuandoeláreadevisualizaciónseamayorque480px.

Page 53: Responsive Web Design (Diseño Web Adaptable)

8.3DISTINTOSCSSSolución1:cargardistintasCSS:

<linkrel="stylesheet"type="text/css"media="alland(min-width:480px)"href="tablet.css"/>

<!--tablet.cssesunCSSconreglasparacuandoeláreadevisualizaciónseamayorque480px-->

Page 54: Responsive Web Design (Diseño Web Adaptable)

8.4MISMOCSSSolución2:definirdistintaspropiedadesdentrodelmismoCSS:@mediaalland(min-width:480px){

/*aquíponerlasreglasCSSparacuandoeláreadevisualizaciónseamayorque480px*/}

Page 55: Responsive Web Design (Diseño Web Adaptable)

8.5IMPORTARCSSSolución3:importardistintashojasdeestilodentrodelmismoCSS:@importurl("tablet.css")alland(min-width:480px);

/*tablet.cssesunCSSconreglasparacuandoeláreadevisualizaciónseamayorque480px*/}

Page 56: Responsive Web Design (Diseño Web Adaptable)

8.6OPERADORANDEsusadoparacombinarmúltiplesmediafeaturesenunsóloMediaQuery,requiriendoquecadafuncióndevuelvetrueparaqueelQuerytambiénlosea.

Page 57: Responsive Web Design (Diseño Web Adaptable)

8.7EJEMPLOAND@mediatvand(min-width:700px)and(orientation:landscape){

/*reglasquequeremosqueseapliquenparatelevisionesconáreasdevisualizaciónmayoresde700pxsiemprequelapantallaestéenmodolandscape*/}

Page 58: Responsive Web Design (Diseño Web Adaptable)

8.8OPERADOR'OR'SepuedencombinarmúltiplesMediaQueriesseparadosporcomasenunalista,detalformaquesialgunadelasMediaQueriesdevuelvetrue,todolasentenciadevolverátrue.Estoesequivalenteaunoperadoror.CadaMediaQueryseparadoporcomasenlalistasetrataindividualmente.

Page 59: Responsive Web Design (Diseño Web Adaptable)

8.9EJEMPLO'OR'@mediatv,(min-width:700px),(orientation:landscape){

/*reglasquequeremosqueseapliquenparatelevisiones,oparadispositivosconáreasdevisualizaciónmayoresde700px,ocuandolapantallaestáenmodolandscape*/}

Page 60: Responsive Web Design (Diseño Web Adaptable)

8.10OPERADORNOTSeutilizaparanegarunMediaQuerycompleto.Nosepuedenegarunacaracterísticaindividualmente,sinosolamenteelMediaQuerycompleto.

Page 61: Responsive Web Design (Diseño Web Adaptable)

8.11EJEMPLONOT(I)@medianottvandmax-width(800px),notscreenandmax-width(400px){

/*reglasquequeremosqueseapliquenparadispositivosquenoseannitelevisionesconáreasdevisualizaciónmenoresde800px,nipantallasconáreasdevisualizaciónmenoresde400px*/}

Page 62: Responsive Web Design (Diseño Web Adaptable)

8.12EJEMPLONOT(II)Elanteriorejemploseríaequivalentea:

@medianot(tvandmax-width(800px)),not(screenandmax-width(400px)){

...}

Page 63: Responsive Web Design (Diseño Web Adaptable)

8.13CARACTERÍSTICAS(I)Característicasquehacenreferenciaaláreadevisualización:widthheightaspect-ratio[4/3|16/9|...]orientation[portrait|landscape]

Page 64: Responsive Web Design (Diseño Web Adaptable)

8.14CARACTERÍSTICAS(II)Característicasquehacenreferenciaalapantalladeldispositivo:device-widthdevice-heightdevice-aspect-ratio[4/3|16/9|...]

Page 65: Responsive Web Design (Diseño Web Adaptable)

8.15CARACTERÍSTICAS(III)Otrascaracterísticas:color:Elnúmerodebitsdeprofundidaddecolormonocrome:Elnúmerodebitsdeprofundidaddecolor,endispotivosmonocromáticosresolution:Densidaddepixelseneldispositivo,medidoendpi

Page 66: Responsive Web Design (Diseño Web Adaptable)

8.16MIN-YMAX-Acasitodaslascaracterísticasselespuedeadjuntarlosprefijosmin-ymax-Dehecholohabitualesusardichosprefijos.

Page 67: Responsive Web Design (Diseño Web Adaptable)

9METODOLOGÍAS

Page 68: Responsive Web Design (Diseño Web Adaptable)

9.1DESKTOPVSMOBILE

DesktopfirstVSMobilefirst.Fuente:brettjankord.com

Page 69: Responsive Web Design (Diseño Web Adaptable)

9.2DESKTOPFIRSTConsisteendesarrollarparapantallasgrandesyposteriormenteadaptareldiseñoapantallaspequeñas.

Page 70: Responsive Web Design (Diseño Web Adaptable)

9.3DF:UTILIZAMAX-WIDTHNormalmentelosMediaQueriesutilizanmax-width,simplificandoyajustandoparalaspantallasmáspequeñas.@mediaalland(max-width:320px){/*Estilosparaanchosmenoresa320px*/}@mediaalland(max-width:768px){/*Estilosparaanchosmenoresa768px*/}

Page 71: Responsive Web Design (Diseño Web Adaptable)

9.4DF:PROBLEMASLosMediaQuerynoestánsoportadosportodoslosmóviles.Laversiónmóvilterminasiendounaversióndescafeinadadelaweboriginal.

Page 72: Responsive Web Design (Diseño Web Adaptable)

9.5MOBILEFIRSTConsisteendesarrollarparapantallaspequeñasyposteriormenteadaptareldiseñoapantallasgrandes.

Page 73: Responsive Web Design (Diseño Web Adaptable)

9.6MF:UTILIZAMIN-WIDTHAhoralosMediaQueriesutilizanmin-width,paraajustareldiseñoamedidaqueaumentaeltamañodepantalla.@mediaalland(min-width:320px){/*Estilosparaanchossuperioresa320px*/}@mediaalland(min-width:768px){/*Estilosparaanchossuperioresa768px*/}

Page 74: Responsive Web Design (Diseño Web Adaptable)

9.7MF:VENTAJASFuncionaenmóvilesy/onavegadoresantiguosquenosoportanlosMediaQueries.Normalmentelahojadeestilosresultantesuelesermássencillaqueusandolaotravía.Empezarporelmóvilnosserviráparadeterminardeunamaneramásclaracualeselcontenidorealmenteimportantedenuestraweb.

Page 75: Responsive Web Design (Diseño Web Adaptable)

9.8PUNTOSDEROTURA(I)Normalmente:320pxparaelmóvil,768pxparaeltablet,1024pxparaelportatil,1200pxparaelsobremesa.

Page 76: Responsive Web Design (Diseño Web Adaptable)

9.9PUNTOSDEROTURA(II)LomejorseríaquelospuntosderoturaqueaplicamosenlosMediaQuery,fueranenfuncióndenuestrocontenido,envezdeenfuncióndeltamañodeldispositivomásvendido.Lamaneradehacerlo:ircambiandopocoapocoelanchodelnavegadorydondelawebserompa,aplicarunMediaQuery.

Page 77: Responsive Web Design (Diseño Web Adaptable)

10ACERCADE

Page 78: Responsive Web Design (Diseño Web Adaptable)

10.1LICENCIAEstastransparenciasestánhechascon:MarkdownSlides:

EstastransparenciasestánbajounalicenciaCreativeCommonsReconocimiento-CompartirIgual3.0:

https://github.com/asanzdiego/markdownslides

http://creativecommons.org/licenses/by-sa/3.0/es

Page 79: Responsive Web Design (Diseño Web Adaptable)

10.2FUENTESTransparencias:

Código:

https://github.com/asanzdiego/curso-interfaces-web-2014/tree/master/03-rwd/slides

https://github.com/asanzdiego/curso-interfaces-web-2014/tree/master/03-rwd/src

Page 80: Responsive Web Design (Diseño Web Adaptable)

10.3BIBLIOGRAFÍA(I)ResponsiveWebDesign

IntroducciónalDiseñoWebAdaptableoResponsiveWebDesign

Tutorial:ResponsiveWebDesign

http://www.arkaitzgarro.com/responsive-web-design/index.html

http://www.emenia.es/diseno-web-adaptable-o-responsive-web-design

http://www.mmfilesi.com/blog/tutorial-responsive-web-design-i

Page 81: Responsive Web Design (Diseño Web Adaptable)

10.4BIBLIOGRAFÍA(II)Tutorial:TransformatuwebenResponsiveDesign

Cursoresponsivewebdesign-RedradixSchool

TodoloquenecesitasabersobreResponsiveWebDesign

http://blog.ikhuerta.com/transforma-tu-web-en-responsive-design

http://www.slideshare.net/Redradix/curso-responsive-web-design-redradix-school

http://www.ecbloguer.com/marketingdigital/?p=2635

Page 82: Responsive Web Design (Diseño Web Adaptable)

10.5BIBLIOGRAFÍA(III)DiseñowebfluidoyplantillafluidaconHTML5yCSS3

BeneficiosdelResponsiveWebDesignenSEO

ResponsiveWebDesignTestingTool

http://www.aloud.es/diseno-web-fluido-y-plantilla-fluida

http://madridnyc.com/blog/2013/01/29/beneficios-del-responsive-web-design-en-seo

http://mattkersley.com/responsive

Page 83: Responsive Web Design (Diseño Web Adaptable)

10.6BIBLIOGRAFÍA(IV)ResponsiveWebDesign

ResponsiveDesignyaccesibilidad.Buenasymalasprácticas.Errorescomunes.

Diseñowebadaptativo:mejoresprácticas

http://www.ricardocastillo.com/rwd.pdf

http://olgacarreras.blogspot.com.es/2014/01/responsive-design-y-accesibilidad.html

http://www.emenia.es/diseno-web-adaptativo-mejores-practicas

Page 84: Responsive Web Design (Diseño Web Adaptable)

10.7BIBLIOGRAFÍA(V)Traducciónde"ResponsiveWebDesign"de"AListApart"

ResponsiveDesignExercisehttp://diseñowebresponsivo.com.ar

http://blog.garciaechegaray.com/2013/11/29/responsive-design-exercise.html

Page 85: Responsive Web Design (Diseño Web Adaptable)

10.8BIBLIOGRAFÍA(VI)EstadísticasdeStatCounter

PáginadetesteodeMattKersleyhttp://gs.statcounter.com

http://mattkersley.com/responsive