SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Devel.cz konference
9. listopadu 2013

State of the art
responzivních
technikálií
Martin Michálek
www.vzhurudolu.cz
@machal
responzivní
webdesign
Přežitý
responzivní
webdesign
Responzivní
kbps.cz

Ne-responzivní
blackcomb.cz

150 requestů, 750 kB.
Minimálně 2 minuty
načítání na EDGE.

27 requestů, 330 kB.
16 vteřin načítání
na EDGE.
Rychlost
načítání
Pomalost
načítání
Pomalý web = špatný byznys

Jednovteřinové zpoždění z doby
načítání stránky může způsobit
až 7 % pokles konverzí.
40% lidí opustilo stránku, která se
natahovala déle než 3 vteřiny.
73% uživatelů mobilního
internetu řeklo, že narazilo na
stránku, která se načítala příliš
pomalu.

http://blog.kissmetrics.com/loading-time/
Jak zjistit rychlost připojení?
(Spíš budoucnost)

★

Testovací obrázek

★

Network Information API
navigator.connection  
//  Android  browser
//  vrátí  typ  připojení  (ethernet,  2g,  3g,  wifi…)
navigator.connection.bandwidth
//  Firefox  Android  a  noční  buildy  Webkitu  
//  vrátí  rychlost  připojení
Jak zlepšit pomalost načítání?
1) Začít testovat
2) Co nejméně requestů
3) Co nejméně dat
Na obrázky
máme Picturefill

      <span  data-­‐picture  data-­‐alt="Obrázek">
              <span  data-­‐src="small.jpg"></span>
              <span  data-­‐src="medium.jpg"  data-­‐media="(min-­‐width:  400px)"></span>
              <span  data-­‐src="large.jpg"  data-­‐media="(min-­‐width:  800px)"></span>

              <noscript>
                      <img  src="small.jpg"  alt="Obrázek">
              </noscript>
      </span>

Více řešení: http://blog.cloudfour.com/responsive-imgs/
Datový objem obrázků:
Lazy Loading

http://www.appelsiini.net/projects/lazyload

http://luis-almeida.github.io/unveil/
Datový objem obrázků:
Compressive Images

14 kB

6 kB

http://filamentgroup.com/lab/rwd_img_compression/
Kód třetích stran:
Průšvih se sdílecími tlačítky

Na maximu rychlosti EDGE se tlačítka
stahují 10 vteřin.
Kód třetích stran:
Průšvih se sdílecími tlačítky
Na iOS nedávat

Jen
odkazy

Vlastní tlačítka

Lazy load

http://sapegin.github.io/social-likes/

http://socialitejs.com/
Back-end zachraňuje

<?php  if  ($isSmartphone):              
  
   //  button  s  odkazem  na  mapu
else:  
   //  iframe  s  mapou
endif;  ?>
http://mobiledetect.net/
http://kratce.vzhurudolu.cz/post/44227784297/docasna-server-detekce
History API (pushState)

http://pjax.heroku.com/
https://github.com/browserstate/history.js/
OK, teď je to rychlejší.
Jenže…

…uživatel smartphone
na EDGE stahuje
spoustu balastu.
… responzivní web nás
stojí moc práce.
Sky
is the
limit
Sky Workflow
is the
limit
Architektura kódu
zezdola nahoru
Desktop Down

Mobile Up

/*  Desktop  */
.nav  {  …  }

/*  Mobile  */
.nav  {  …  }

/*  Mobile  */
@media  (max-­‐width:  480px)  {
    .nav  {  …  }
}

/*  Desktop  */
@media  (min-­‐width:  480px)  {
    .nav  {  …  }
}

Nevýhody:
– křápy dostanou nejpokročilejší řešení
– desktop se špatně předefinovává

Nevýhody:
– IE8- nerozumí obsahu min-width

https://github.com/scottjehl/Respond
http://kratce.vzhurudolu.cz/post/42187934506/mobile-first-css
Hodně breakpointů,
hodně verzí kódu

švih
prů aky
mr
jak

<link  rel="stylesheet"  href="smartphone.css"  
    media="(max-­‐width:  480px)">
<link  rel="stylesheet"  href="tablet.css"  
    media="(min-­‐width:  481px)  and  (max-­‐width:  1023px)">
<link  rel="stylesheet"  href="desktop.css"  
    media="(min-­‐width:  1024px)  and  (max-­‐width:  1280px)">
<link  rel="stylesheet"  href="desktop-­‐large.css"  
    media="(min-­‐width:  1281px)">

http://kratce.vzhurudolu.cz/post/46416507703/jake-breakpointy-zvolit-v-responzivnim-webdesignu
Komponenty namísto stránek

http://bradfrostweb.com/blog/post/atomic-web-design/
Jedna verze kódu,
zaměřeno na komponenty
e kódu
1 verz

index.less:
@import  “/components/nav“
@import  “/components/article“
@import  “/components/article-­‐list“

onenty
né komp pointy
mostat i break
sa
lastním
sv
Uživateli
dáme jen
to co opravdu
potřebuje.
Uživateli
dáme jen
to co opravdu
potřebuje.
AjaxInclude
Základní počasí
Počasí rozšířené pro větší displeje

<a  href="..."  
    data-­‐replace="pocasi-­‐plne.html"  
    data-­‐media="(min-­‐width:  480px)">
        Počasí
</a>
http://filamentgroup.com/lab/ajax_includes_modular_content/
AjaxInclude

http://filamentgroup.com/lab/ajax_includes_modular_content/
Modernizr.load()
Modernizr.load({
    test:  Modernizr.mq('screen  and  (min-­‐width:  481px)'),
    yep  :  [        
      '/fancybox/jquery.fancybox.pack.js',
      '/fancybox/jquery.fancybox.css',
   ],  
  
    complete  :  function  ()  {  
        if  (Modernizr.mq('screen  and  (min-­‐width:  481px)'))  {
            $('.fancybox').fancybox();     
      }           
      }
  
});

https://twitter.com/machal/status/296152170716356608
https://bitbucket.org/machal/ubytovaniprovence.cz/…
SouthStreet workflow
Balíček JS/CSS pro danou stránku a zařízení:
Enhance.JS — podmíněné načítání JS
eCSSential — podmíněné načítání CSS
QuickConcat — spojování a minifikace on-the-fly
Děkuji!
@machal
www.vzhurudolu.cz
facebook.com/VzhuruDolu
martin@vzhurudolu.cz

Más contenido relacionado

La actualidad más candente

PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018Brilo Team
 
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)Martin Michálek
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
 
Hon za fonty na webu
Hon za fonty na webuHon za fonty na webu
Hon za fonty na webujansladek
 
Vuenderland - Mall Dev Session
Vuenderland - Mall Dev SessionVuenderland - Mall Dev Session
Vuenderland - Mall Dev SessionDaniel Rataj
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptCtvrtkoncz
 
Prezentace jak zrychlit načítání webu
Prezentace jak zrychlit načítání webuPrezentace jak zrychlit načítání webu
Prezentace jak zrychlit načítání webuSUPERKODERS
 
Responzivní webdesign (pro MS Fest)
Responzivní webdesign (pro MS Fest)Responzivní webdesign (pro MS Fest)
Responzivní webdesign (pro MS Fest)Martin Michálek
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressAleš Sýkora
 
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...skrzczdev
 
Daniel Steigerwald: Jak psát mobilní webové aplikace
Daniel Steigerwald: Jak psát mobilní webové aplikaceDaniel Steigerwald: Jak psát mobilní webové aplikace
Daniel Steigerwald: Jak psát mobilní webové aplikaceDevelcz
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webůMichal Doležel
 
AMP: Co řeší a co nového nabízí
AMP: Co řeší a co nového nabízíAMP: Co řeší a co nového nabízí
AMP: Co řeší a co nového nabízíMartin Michálek
 

La actualidad más candente (15)

PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018
 
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)
Pohroma jménem optimalizace pro mobilní zařízení (WebTop100 2013)
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
 
Hon za fonty na webu
Hon za fonty na webuHon za fonty na webu
Hon za fonty na webu
 
Vuenderland - Mall Dev Session
Vuenderland - Mall Dev SessionVuenderland - Mall Dev Session
Vuenderland - Mall Dev Session
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
 
Prezentace jak zrychlit načítání webu
Prezentace jak zrychlit načítání webuPrezentace jak zrychlit načítání webu
Prezentace jak zrychlit načítání webu
 
Responzivní webdesign (pro MS Fest)
Responzivní webdesign (pro MS Fest)Responzivní webdesign (pro MS Fest)
Responzivní webdesign (pro MS Fest)
 
WordPress + Gatsby
WordPress + GatsbyWordPress + Gatsby
WordPress + Gatsby
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPress
 
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...
Zrychlování mobilního webu aneb LTE máme jenom v Praze | Jarda Hanslík - Slev...
 
Devel.cz: Bootstrap 4
Devel.cz: Bootstrap 4Devel.cz: Bootstrap 4
Devel.cz: Bootstrap 4
 
Daniel Steigerwald: Jak psát mobilní webové aplikace
Daniel Steigerwald: Jak psát mobilní webové aplikaceDaniel Steigerwald: Jak psát mobilní webové aplikace
Daniel Steigerwald: Jak psát mobilní webové aplikace
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
AMP: Co řeší a co nového nabízí
AMP: Co řeší a co nového nabízíAMP: Co řeší a co nového nabízí
AMP: Co řeší a co nového nabízí
 

Destacado

Ach, ty mobilní prohlížeče
Ach, ty mobilní prohlížečeAch, ty mobilní prohlížeče
Ach, ty mobilní prohlížečeMartin Michálek
 
10 praktických CSS3 a SVG řešení
10 praktických  CSS3 a SVG řešení10 praktických  CSS3 a SVG řešení
10 praktických CSS3 a SVG řešeníMartin Michálek
 
Debugování responzivních webů
Debugování responzivních webůDebugování responzivních webů
Debugování responzivních webůMartin Michálek
 
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webů
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webůVše co potřebuje markeťák vědět o rychlostní optimalizaci webů
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webůMartin Michálek
 

Destacado (9)

Ach, ty mobilní prohlížeče
Ach, ty mobilní prohlížečeAch, ty mobilní prohlížeče
Ach, ty mobilní prohlížeče
 
(Téměř) Vektorový web
(Téměř) Vektorový web(Téměř) Vektorový web
(Téměř) Vektorový web
 
Proč LESS?
Proč LESS?Proč LESS?
Proč LESS?
 
XHTML
XHTMLXHTML
XHTML
 
Webový = Responzivní
Webový = ResponzivníWebový = Responzivní
Webový = Responzivní
 
The Book of Romans
The Book of RomansThe Book of Romans
The Book of Romans
 
10 praktických CSS3 a SVG řešení
10 praktických  CSS3 a SVG řešení10 praktických  CSS3 a SVG řešení
10 praktických CSS3 a SVG řešení
 
Debugování responzivních webů
Debugování responzivních webůDebugování responzivních webů
Debugování responzivních webů
 
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webů
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webůVše co potřebuje markeťák vědět o rychlostní optimalizaci webů
Vše co potřebuje markeťák vědět o rychlostní optimalizaci webů
 

Similar a State of the art responzivních technikálií (Devel.cz)

Web designerʼs guide to the Web
Web designerʼs guide to the WebWeb designerʼs guide to the Web
Web designerʼs guide to the WebOndřej Válka
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Pavel Růžička
 
Úvod do responsivního web designu
Úvod do responsivního web designuÚvod do responsivního web designu
Úvod do responsivního web designuSherpas
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v clouduJiri Danihelka
 
Anatomie mobilního webu
Anatomie mobilního webuAnatomie mobilního webu
Anatomie mobilního webuFilip Mares
 
SMACT and Robotic Organizations
SMACT and Robotic OrganizationsSMACT and Robotic Organizations
SMACT and Robotic OrganizationsJaroslav Smarda
 
node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)almadcz
 
Prostředky spolupráce v reálném čase
Prostředky spolupráce v reálném časeProstředky spolupráce v reálném čase
Prostředky spolupráce v reálném časeCESNET
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Tomáš Kukol
 
Hledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitHledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitDesingdev
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuAkce Dobrého webu
 

Similar a State of the art responzivních technikálií (Devel.cz) (20)

Web designerʼs guide to the Web
Web designerʼs guide to the WebWeb designerʼs guide to the Web
Web designerʼs guide to the Web
 
Web na dlani
Web na dlaniWeb na dlani
Web na dlani
 
Node-RED
Node-REDNode-RED
Node-RED
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
Úvod do responsivního web designu
Úvod do responsivního web designuÚvod do responsivního web designu
Úvod do responsivního web designu
 
Seznam na mobilu
Seznam na mobiluSeznam na mobilu
Seznam na mobilu
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
3D svet - Flash a HTML5
3D svet - Flash a HTML53D svet - Flash a HTML5
3D svet - Flash a HTML5
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v cloudu
 
Anatomie mobilního webu
Anatomie mobilního webuAnatomie mobilního webu
Anatomie mobilního webu
 
SMACT and Robotic Organizations
SMACT and Robotic OrganizationsSMACT and Robotic Organizations
SMACT and Robotic Organizations
 
node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)
 
Prostředky spolupráce v reálném čase
Prostředky spolupráce v reálném časeProstředky spolupráce v reálném čase
Prostředky spolupráce v reálném čase
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]
 
Hledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitHledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešit
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webu
 
TNPW2-2013-02
TNPW2-2013-02TNPW2-2013-02
TNPW2-2013-02
 

Más de Martin Michálek

Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojářeRychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojářeMartin Michálek
 
CSS a sazba knih: jak jsme daleko?
CSS a sazba knih: jak jsme daleko?CSS a sazba knih: jak jsme daleko?
CSS a sazba knih: jak jsme daleko?Martin Michálek
 
Browsers: from competition to collaboration
Browsers: from competition to collaborationBrowsers: from competition to collaboration
Browsers: from competition to collaborationMartin Michálek
 
„To my ne, to oni!“ – komponenty třetích stran a rychlost webu
„To my ne, to oni!“ – komponenty třetích stran a rychlost webu„To my ne, to oni!“ – komponenty třetích stran a rychlost webu
„To my ne, to oni!“ – komponenty třetích stran a rychlost webuMartin Michálek
 
17 technických tipů ke zrychlení webů
17 technických tipů ke zrychlení webů17 technických tipů ke zrychlení webů
17 technických tipů ke zrychlení webůMartin Michálek
 
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?Martin Michálek
 
Blbosti kolem webové rychlosti
Blbosti kolem webové rychlostiBlbosti kolem webové rychlosti
Blbosti kolem webové rychlostiMartin Michálek
 
SEO jako Brno - workshop k rychlosti webu
SEO jako Brno - workshop k rychlosti webuSEO jako Brno - workshop k rychlosti webu
SEO jako Brno - workshop k rychlosti webuMartin Michálek
 
Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Martin Michálek
 
CSS proměnné (Custom Properties)
CSS proměnné (Custom Properties)CSS proměnné (Custom Properties)
CSS proměnné (Custom Properties)Martin Michálek
 
Metriky rychlosti načítání
Metriky rychlosti načítáníMetriky rychlosti načítání
Metriky rychlosti načítáníMartin Michálek
 
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryWebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryMartin Michálek
 
Je CSS vážně tak podivné?
Je CSS vážně  tak podivné?Je CSS vážně  tak podivné?
Je CSS vážně tak podivné?Martin Michálek
 

Más de Martin Michálek (14)

Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojářeRychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
 
CSS a sazba knih: jak jsme daleko?
CSS a sazba knih: jak jsme daleko?CSS a sazba knih: jak jsme daleko?
CSS a sazba knih: jak jsme daleko?
 
Browsers: from competition to collaboration
Browsers: from competition to collaborationBrowsers: from competition to collaboration
Browsers: from competition to collaboration
 
„To my ne, to oni!“ – komponenty třetích stran a rychlost webu
„To my ne, to oni!“ – komponenty třetích stran a rychlost webu„To my ne, to oni!“ – komponenty třetích stran a rychlost webu
„To my ne, to oni!“ – komponenty třetích stran a rychlost webu
 
17 technických tipů ke zrychlení webů
17 technických tipů ke zrychlení webů17 technických tipů ke zrychlení webů
17 technických tipů ke zrychlení webů
 
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?
Rychlost webu: Co pro ni mohou udělat UXáci, marketéři a majitelé webů?
 
Blbosti kolem webové rychlosti
Blbosti kolem webové rychlostiBlbosti kolem webové rychlosti
Blbosti kolem webové rychlosti
 
SEO jako Brno - workshop k rychlosti webu
SEO jako Brno - workshop k rychlosti webuSEO jako Brno - workshop k rychlosti webu
SEO jako Brno - workshop k rychlosti webu
 
Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)
 
CSS proměnné (Custom Properties)
CSS proměnné (Custom Properties)CSS proměnné (Custom Properties)
CSS proměnné (Custom Properties)
 
Metriky rychlosti načítání
Metriky rychlosti načítáníMetriky rychlosti načítání
Metriky rychlosti načítání
 
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryWebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
 
Je CSS vážně tak podivné?
Je CSS vážně  tak podivné?Je CSS vážně  tak podivné?
Je CSS vážně tak podivné?
 
CSS preprocesory
CSS preprocesoryCSS preprocesory
CSS preprocesory
 

State of the art responzivních technikálií (Devel.cz)

  • 1. Devel.cz konference 9. listopadu 2013 State of the art responzivních technikálií Martin Michálek www.vzhurudolu.cz @machal
  • 4.
  • 5.
  • 6. Responzivní kbps.cz Ne-responzivní blackcomb.cz 150 requestů, 750 kB. Minimálně 2 minuty načítání na EDGE. 27 requestů, 330 kB. 16 vteřin načítání na EDGE.
  • 9. Pomalý web = špatný byznys Jednovteřinové zpoždění z doby načítání stránky může způsobit až 7 % pokles konverzí. 40% lidí opustilo stránku, která se natahovala déle než 3 vteřiny. 73% uživatelů mobilního internetu řeklo, že narazilo na stránku, která se načítala příliš pomalu. http://blog.kissmetrics.com/loading-time/
  • 10. Jak zjistit rychlost připojení? (Spíš budoucnost) ★ Testovací obrázek ★ Network Information API navigator.connection   //  Android  browser //  vrátí  typ  připojení  (ethernet,  2g,  3g,  wifi…) navigator.connection.bandwidth //  Firefox  Android  a  noční  buildy  Webkitu   //  vrátí  rychlost  připojení
  • 11. Jak zlepšit pomalost načítání? 1) Začít testovat 2) Co nejméně requestů 3) Co nejméně dat
  • 12. Na obrázky máme Picturefill      <span  data-­‐picture  data-­‐alt="Obrázek">              <span  data-­‐src="small.jpg"></span>              <span  data-­‐src="medium.jpg"  data-­‐media="(min-­‐width:  400px)"></span>              <span  data-­‐src="large.jpg"  data-­‐media="(min-­‐width:  800px)"></span>              <noscript>                      <img  src="small.jpg"  alt="Obrázek">              </noscript>      </span> Více řešení: http://blog.cloudfour.com/responsive-imgs/
  • 13. Datový objem obrázků: Lazy Loading http://www.appelsiini.net/projects/lazyload http://luis-almeida.github.io/unveil/
  • 14. Datový objem obrázků: Compressive Images 14 kB 6 kB http://filamentgroup.com/lab/rwd_img_compression/
  • 15. Kód třetích stran: Průšvih se sdílecími tlačítky Na maximu rychlosti EDGE se tlačítka stahují 10 vteřin.
  • 16. Kód třetích stran: Průšvih se sdílecími tlačítky Na iOS nedávat Jen odkazy Vlastní tlačítka Lazy load http://sapegin.github.io/social-likes/ http://socialitejs.com/
  • 17. Back-end zachraňuje <?php  if  ($isSmartphone):                   //  button  s  odkazem  na  mapu else:     //  iframe  s  mapou endif;  ?> http://mobiledetect.net/ http://kratce.vzhurudolu.cz/post/44227784297/docasna-server-detekce
  • 19. OK, teď je to rychlejší. Jenže… …uživatel smartphone na EDGE stahuje spoustu balastu. … responzivní web nás stojí moc práce.
  • 22. Architektura kódu zezdola nahoru Desktop Down Mobile Up /*  Desktop  */ .nav  {  …  } /*  Mobile  */ .nav  {  …  } /*  Mobile  */ @media  (max-­‐width:  480px)  {    .nav  {  …  } } /*  Desktop  */ @media  (min-­‐width:  480px)  {    .nav  {  …  } } Nevýhody: – křápy dostanou nejpokročilejší řešení – desktop se špatně předefinovává Nevýhody: – IE8- nerozumí obsahu min-width https://github.com/scottjehl/Respond http://kratce.vzhurudolu.cz/post/42187934506/mobile-first-css
  • 23. Hodně breakpointů, hodně verzí kódu švih prů aky mr jak <link  rel="stylesheet"  href="smartphone.css"      media="(max-­‐width:  480px)"> <link  rel="stylesheet"  href="tablet.css"      media="(min-­‐width:  481px)  and  (max-­‐width:  1023px)"> <link  rel="stylesheet"  href="desktop.css"      media="(min-­‐width:  1024px)  and  (max-­‐width:  1280px)"> <link  rel="stylesheet"  href="desktop-­‐large.css"      media="(min-­‐width:  1281px)"> http://kratce.vzhurudolu.cz/post/46416507703/jake-breakpointy-zvolit-v-responzivnim-webdesignu
  • 25. Jedna verze kódu, zaměřeno na komponenty e kódu 1 verz index.less: @import  “/components/nav“ @import  “/components/article“ @import  “/components/article-­‐list“ onenty né komp pointy mostat i break sa lastním sv
  • 26. Uživateli dáme jen to co opravdu potřebuje.
  • 27. Uživateli dáme jen to co opravdu potřebuje.
  • 28. AjaxInclude Základní počasí Počasí rozšířené pro větší displeje <a  href="..."      data-­‐replace="pocasi-­‐plne.html"      data-­‐media="(min-­‐width:  480px)">        Počasí </a> http://filamentgroup.com/lab/ajax_includes_modular_content/
  • 30. Modernizr.load() Modernizr.load({    test:  Modernizr.mq('screen  and  (min-­‐width:  481px)'),    yep  :  [           '/fancybox/jquery.fancybox.pack.js',     '/fancybox/jquery.fancybox.css',   ],        complete  :  function  ()  {        if  (Modernizr.mq('screen  and  (min-­‐width:  481px)'))  {         $('.fancybox').fancybox();         }              }   }); https://twitter.com/machal/status/296152170716356608 https://bitbucket.org/machal/ubytovaniprovence.cz/…
  • 31. SouthStreet workflow Balíček JS/CSS pro danou stránku a zařízení: Enhance.JS — podmíněné načítání JS eCSSential — podmíněné načítání CSS QuickConcat — spojování a minifikace on-the-fly