SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Responsive Web Design
kto mało pyta, nie błądzi
Jakub Wiśniewski, Kraków 24.5.2013
Agenda
● O znaczeniu słowa „responsive”
● Kilka słów o konsumpcji treści
● Wnioski, przykłady oraz jedna dygresja
● Wskazówki i porady praktyczne
Wstęp
● Poznań – Lublin – Kraków - ...
● UAM / UMCS / Zend PHP5 Certificate
● Freelancer od 2003
● Od 2011 IT Project Leader w
RWD, czyli...
„responsive” wg Oxford Dictionary
reacting quickly and positively
quickly - at a fast speed; rapidly
http://oxforddictionaries.com/definition/english/responsive
WNIOSEK #1
responsive to nie tylko:
@media screen and (max-width: 600px) {
.class {
background: #ccc;
}
}
Trochę o konsumpcji
Różne treści i narzędzia do ich konsumpcji
SpaghettiSpaghetti i sztućce
Tekst pisany i gazeta / książka
Audycja i telewizor
Strony WWW i przeglądarki web
Analogia
Strona www i przeglądarka
są jak
tekst pisany i książka
Czy aby na pewno?
Czy strona www i przeglądarka
naprawdę są jak
tekst pisany i książka?
Analogia – podejście drugie
Strona www i przeglądarka
są jak
tekst pisany i książka
audycja TV i telewizor?
Stara przeglądarka
Nowa przeglądarka
WNIOSEK #2
Strona www i przeglądarka
są jak
audycja TV i telewizor
Krótka dygresja
Wielkie Pytanie o Internet,
RWD i Całą Resztę
http://dowebsitesneedtobeexperiencedexactlythesameineverybrowser.com
POKAZ
● IE
● FF
● Chrome
Techniki i narzędzia
dla większej
prędkości działania
responsive – quickly – at a fast speed; rapidly
Y U NO SPEED!?
Ograniczenia przeglądarek
limit równoległych połączeń na host = 6
http://www.browserscope.org/?category=network
kto mało pyta (serwer o zasoby),
nie błądzi
● mniej plików graficznych
● mniej plików .css
● mniej plików .js
mniej obrazków
● kod CSS3 zamiast <img>
http://css3generator.com/
http://www.cssmatic.com/
● data URIs zamiast <img>
{background: url(data:image/gif;base64,R0lGODlh...)}
https://github.com/nzakas/cssembed
http://dataurl.net/
● image sprites
{background-position: -450px -300px}
XI. optymalizuj
● jpegtran
http://jpegclub.org/
● jpegoptim
http://freshmeat.net/projects/jpegoptim/
● OptiPNG
http://optipng.sourceforge.net/
● PNGOUT
http://www.advsys.net/ken/util/pngout.htm
● TinyPNG
http://tinypng.org/
mniej plików o mniejszym rozmiarze
● cssmin
http://code.google.com/p/cssmin/
● jsmin
http://www.crockford.com/javascript/jsmin.html
● YUIcompressor
http://developer.yahoo.com/yui/compressor/
mniej kodu CSS
div {
display: block;
margin: 0;
}
Mniej HTML
● mniej obiektów DOM
<div><ul><li>... </li></ul></div>
● preg_replace
return preg_replace('/[ ]{2,}/', ' ', preg_replace('/[nrt]{1,}/', '', $html));
● <a href=”http://www.domain.com”>foo<a/>
Mniej transferu
● cache-controll
ExpiresByType image/gif "access plus 1 month"
● kompresja zlib
php_flag zlib.output_compression on
● statyczna treść na subdomeny, najlepiej kilka
● SSL
● lazyloading
● header 301
DNS prefetch
<html>
<head>
<link rel="dns-prefetch" href="//www.domain1.com">
<link rel="prefetch" href="//www.domain2.com"> <!-- dla IE -->
</head>
<body>
...
<img src="www.domain1.com/image1.jpeg">
<script src="www.domain2.com/script1.js">
</body>
</html>
Bez DNS Prefetch
Z DNS Prefetch
Mniej bajerów*
animacja w JS
=
większe obciążenie CPU
=
większy pobór mocy
=
krótsze życie baterii
*animacje w CSS są OK
{-webkit-transition: background-color .4s linear;}
POKAZ
● Animacja w iphone 3
Minimalizacja zmian układu strony
Deklarowanie wymiaru obrazków
http://dev.w3.org/html5/markup/img.html#img.attrs.height
POKAZ
● Smashing @ kindle
Czego dziś się dowiedzieliśmy?
● responsive == quick
● Strona www i przeglądarka ~ Audycja i TV
● Nope.
● Mniej jpg, css, js, html
● XI. optymalizuj, kompresuj i cache'uj
Pytania?
Żródła:
http://www.slideshare.net/nzakas/progressive-enhancement-20-conference-agnostic
http://www.slideshare.net/nzakas/mobile-web-speed-bumps
http://wallbase.cc / Google Image
Dziękuję za uwagę
kto mało pyta, nie błądzi
Jakub Wiśniewski - j.w.wisniewski@gmail.com
Responsive Web Design

Weitere ähnliche Inhalte

Was ist angesagt?

Joomla a responsywność
Joomla a responsywnośćJoomla a responsywność
Joomla a responsywnośćTomasz Dziuda
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayTomasz Dziuda
 
Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Agnieszka Bury
 
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WPWordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WPMariusz Szatkowski
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkSzymon Kapturkiewicz
 
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...Piotr Nalepa
 
ZamCamp - Django – webowy framework dla perfekcjonistów
ZamCamp - Django – webowy framework dla perfekcjonistów ZamCamp - Django – webowy framework dla perfekcjonistów
ZamCamp - Django – webowy framework dla perfekcjonistów zamcamp
 
WordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentWordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentInterSynergy
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomTomasz Dziuda
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Tomasz Dziuda
 
Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressieContent is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressieTomasz Kołkiewicz
 
WordUp Łódź - Sage - Twoje szablony będą jak supermodelki
WordUp Łódź - Sage - Twoje szablony będą jak supermodelkiWordUp Łódź - Sage - Twoje szablony będą jak supermodelki
WordUp Łódź - Sage - Twoje szablony będą jak supermodelkiInterSynergy
 
WebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowWebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowMarcin Dembowski
 
Permanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressiePermanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressieTomasz Kołkiewicz
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr BuckiPROIDEA
 

Was ist angesagt? (20)

Joomla a responsywność
Joomla a responsywnośćJoomla a responsywność
Joomla a responsywność
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?
 
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WPWordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress Framework
 
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...
 
Seo wprowadzenie
Seo wprowadzenieSeo wprowadzenie
Seo wprowadzenie
 
Co to jest WordPress?
Co to jest WordPress? Co to jest WordPress?
Co to jest WordPress?
 
ZamCamp - Django – webowy framework dla perfekcjonistów
ZamCamp - Django – webowy framework dla perfekcjonistów ZamCamp - Django – webowy framework dla perfekcjonistów
ZamCamp - Django – webowy framework dla perfekcjonistów
 
WordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentWordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć development
 
Long Tail SEO w WordPressie
Long Tail SEO w WordPressieLong Tail SEO w WordPressie
Long Tail SEO w WordPressie
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
WordpUp Lublin #1
WordpUp Lublin #1WordpUp Lublin #1
WordpUp Lublin #1
 
Optymalizacja WP pod SEO
Optymalizacja WP pod SEOOptymalizacja WP pod SEO
Optymalizacja WP pod SEO
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
 
Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressieContent is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
 
WordUp Łódź - Sage - Twoje szablony będą jak supermodelki
WordUp Łódź - Sage - Twoje szablony będą jak supermodelkiWordUp Łódź - Sage - Twoje szablony będą jak supermodelki
WordUp Łódź - Sage - Twoje szablony będą jak supermodelki
 
WebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowWebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, Tomorrow
 
Permanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressiePermanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressie
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
 

Andere mochten auch

10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01Gina Gu
 
CETPA Winter Training Slides
CETPA Winter Training SlidesCETPA Winter Training Slides
CETPA Winter Training SlidesVikash Kumar
 
Ways my media product uses develop and challanges media conventions
Ways my media product uses develop and challanges media conventionsWays my media product uses develop and challanges media conventions
Ways my media product uses develop and challanges media conventionsentwistlesophie8064
 
Scoring and duration of activities22
Scoring and duration of activities22Scoring and duration of activities22
Scoring and duration of activities22nmcquade
 
Makalah bagan desain organisasi manajemen
Makalah bagan desain organisasi manajemenMakalah bagan desain organisasi manajemen
Makalah bagan desain organisasi manajemenSylvester Saragih
 
36kr no.94
36kr no.9436kr no.94
36kr no.94Gina Gu
 
Tesol summer institute 2014 giving student feedback
Tesol summer institute 2014  giving student feedbackTesol summer institute 2014  giving student feedback
Tesol summer institute 2014 giving student feedbackTelly J Hajny
 
36kr no.94
36kr no.9436kr no.94
36kr no.94Gina Gu
 
デジタルカタログのご提案
デジタルカタログのご提案デジタルカタログのご提案
デジタルカタログのご提案吉田印刷所
 
understand Storm in pictures
understand Storm in picturesunderstand Storm in pictures
understand Storm in pictureszqhxuyuan
 
Tactics and princilples of play22
Tactics and princilples of play22Tactics and princilples of play22
Tactics and princilples of play22nmcquade
 
Tugas rangkuman teknik tenaga listrik
Tugas rangkuman teknik tenaga listrikTugas rangkuman teknik tenaga listrik
Tugas rangkuman teknik tenaga listrikSylvester Saragih
 
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...Nik Mohamad Al-Fazil
 
Asteroiden
AsteroidenAsteroiden
Asteroidenr0305614
 
בנות כיתה ו' מתכוננות למסיבת בת המצווה
בנות כיתה ו' מתכוננות למסיבת בת המצווהבנות כיתה ו' מתכוננות למסיבת בת המצווה
בנות כיתה ו' מתכוננות למסיבת בת המצווהhagitush
 

Andere mochten auch (20)

10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
 
About iv network hawaii 2
About iv network hawaii 2About iv network hawaii 2
About iv network hawaii 2
 
CETPA Winter Training Slides
CETPA Winter Training SlidesCETPA Winter Training Slides
CETPA Winter Training Slides
 
Ways my media product uses develop and challanges media conventions
Ways my media product uses develop and challanges media conventionsWays my media product uses develop and challanges media conventions
Ways my media product uses develop and challanges media conventions
 
Hukum perburuhan
Hukum perburuhanHukum perburuhan
Hukum perburuhan
 
Apssp2
Apssp2Apssp2
Apssp2
 
Scoring and duration of activities22
Scoring and duration of activities22Scoring and duration of activities22
Scoring and duration of activities22
 
Makalah bagan desain organisasi manajemen
Makalah bagan desain organisasi manajemenMakalah bagan desain organisasi manajemen
Makalah bagan desain organisasi manajemen
 
Training & development
Training & developmentTraining & development
Training & development
 
36kr no.94
36kr no.9436kr no.94
36kr no.94
 
Tesol summer institute 2014 giving student feedback
Tesol summer institute 2014  giving student feedbackTesol summer institute 2014  giving student feedback
Tesol summer institute 2014 giving student feedback
 
36kr no.94
36kr no.9436kr no.94
36kr no.94
 
デジタルカタログのご提案
デジタルカタログのご提案デジタルカタログのご提案
デジタルカタログのご提案
 
understand Storm in pictures
understand Storm in picturesunderstand Storm in pictures
understand Storm in pictures
 
Tactics and princilples of play22
Tactics and princilples of play22Tactics and princilples of play22
Tactics and princilples of play22
 
Tugas rangkuman teknik tenaga listrik
Tugas rangkuman teknik tenaga listrikTugas rangkuman teknik tenaga listrik
Tugas rangkuman teknik tenaga listrik
 
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...
Bagaimanakah kesan teknologi media dapat membantu pengajaran dan pembelajaran...
 
Tik bab 3
Tik bab 3Tik bab 3
Tik bab 3
 
Asteroiden
AsteroidenAsteroiden
Asteroiden
 
בנות כיתה ו' מתכוננות למסיבת בת המצווה
בנות כיתה ו' מתכוננות למסיבת בת המצווהבנות כיתה ו' מתכוננות למסיבת בת המצווה
בנות כיתה ו' מתכוננות למסיבת בת המצווה
 

Ähnlich wie Responsive Web Design - kto mało pyta, nie błądzi

Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015Tomasz Dziuda
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyKrakweb
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...Bartłomiej Miś
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005Tomasz Bak
 
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...Mariusz Szatkowski
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015Tomasz Dziuda
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015Tomasz Dziuda
 
Jak wygląda firma pozycjonująca od kuchni?
Jak wygląda firma pozycjonująca od kuchni?Jak wygląda firma pozycjonująca od kuchni?
Jak wygląda firma pozycjonująca od kuchni?Silesia SEM
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAArtur Gunia
 
Django - webowy framework dla wymagających
Django - webowy framework dla wymagającychDjango - webowy framework dla wymagających
Django - webowy framework dla wymagającychKrzysztof Kreczko
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbWojciech Soczyński
 
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar SenutoGaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar SenutoBarbaraGacaTworek
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówArkadiusz Stęplowski
 
JavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieJavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieWydawnictwo Helion
 

Ähnlich wie Responsive Web Design - kto mało pyta, nie błądzi (20)

Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case study
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Responsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski SquizResponsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski Squiz
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
 
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015
 
Jak wygląda firma pozycjonująca od kuchni?
Jak wygląda firma pozycjonująca od kuchni?Jak wygląda firma pozycjonująca od kuchni?
Jak wygląda firma pozycjonująca od kuchni?
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
 
Django - webowy framework dla wymagających
Django - webowy framework dla wymagającychDjango - webowy framework dla wymagających
Django - webowy framework dla wymagających
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDb
 
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar SenutoGaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto
Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
JavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieJavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanie
 

Responsive Web Design - kto mało pyta, nie błądzi

Hinweis der Redaktion

  1. Witam wszystkich Nazywam się Jakub Wiśniewski Opowiem dziś wam trochę o Responsive Web Design Wbrew podtytułowi zachęcam wszystkich do zadawania pytań Znaczenie podtytułu wyjaśni się w trakcie prezentacji
  2. | Na początek krótko przedstawię znaczenie słowa „responsive” |Dalej powiemy sobie trochę o konsumpcji |Jesli ktoś w trakcie prezentacji zrobi się głodny, to na zewnątrz na pewno znajdzie coś na ząb |Wyciągniegniemy sobie kilka wniosków oraz zademonstruję wam kilka przykładów | A w drugiej części – mając podstawy teoretyczne – przejdziemy do wskazówek i porad praktycznych
  3. OK wiemy o czym będzie dziś prezentacja | Zanim jednak zaczniemy, kilka słów o osobie, która przed Wami stoi
  4. OK, to zaczynamy Będziemy mówić o responsive web design Czym dla... zwykłej osoby, gdzie przez zwykłą osobę rozumiem, programistę z wewnętrzną naturą „geeka”, który od kilku lat zajmuje tworzeniem stron, jest RWD? Słyszymy RWD, co przychodzi na myśl? - @media queries - Adaptowanie układu strony do szerokości ekranu urządzienia - CSS3 / HTML5 To wszystko prawda, ale...
  5. Spójrzcie jednak na definicję słowa &apos;responsive&apos; ze słownika Oksforda To znaczenie, o którym większość dziś zdaje się zapominać I na tym znaczeniu słowa responsive, dziś będę się skupiał
  6. Czas zatem na pierwszy wniosek Responsive to nie tylko media queries Responsywność to przede wszystkim szybkość działania i reakcji na zachowania użytkownika: kliknięcia, tapnięcia i gesty palcami wykonywane na ekranie dotykowym … ??
  7. Teraz trochę o konsumpcji Każdy z nas jest konsumentem W taki lub inny sposób, nawet jeśli nie zdaje sobie z tego sprawy Oto kilka przykładów, które doprowadzą nas do drugiego wniosku w naszej prezentacji
  8. Pierwszy, najbardziej oczywisty przykład jeśli chodzi o konsumpcję: jedzenie Jedzenie jako treść I sztućce jako narzędzia do konsumowania treści
  9. Idąc dalej: Tekst/słowo pisane, które niesie ze sobą konkretny przekaz Oraz druk, książki, gazety, w setkach, tysiącach identycznych egzemplarzy jako narzędzi umożliwiających nam dostęp do tej treści
  10. Kolejny przykład. Telewizja. Treść - czyli audycja nadawana przez kabel lub satelitę (a od kliku dni tylko cyfrowo) oraz telewizor, czyli narzędzie przystosowane do oglądania tej treści
  11. No i w końcu internet Strony www oraz przeglądarki Treść oraz narzędzia, które używamy by z tą treścią się zapoznać Zauważcie, że w poprzednich dwóch przykładach, na przestrzeni czasu, wraz z rozwojem technologii, pokazane narzędzia ewoluują. Tekst pisany – rysunek naskalny/kamień, tekst pisany i zwoje papirusu, tekst drukowany i książki gazety, a teraz także „tekst cyfrowy” i czytniki ebooków Telewizja – cz/b i telewizory lampowe, później kolorowa, teraz wysokiej rozdzielczości i płaskie telewizory, cyfrowe hdtv Gdy pojawia się nowa technologia – stara wymiera, przestaje być wspierana i nikt z tego powodu się nie bulwersuje.
  12. Internet, strony WWW i przeglądarki to najmłodszy z pokazanych wynalazków Po jego stworzeniu, staraliśmy się jakoś go „skatalogować”, porównać przez analogię, do wcześniejszych Strony internetowe, z racji na ograniczoną szybkość łączy, sprowadzały się większości do treści pisanej. Stąd też przyjęliśmy analogię, że strony www i przeglądarki są jak tekst pisany i książki
  13. Pytanie jednak – czy to dobra analogia? W ramach jednego nakładu wszystkie książki są identyczne – i poprzez tę analogię – wpadliśmy w obsesje,
  14. aby strony internetowe w każdej przeglądarce wyglądały tak samo.
  15. Gdy sugerujemy coś innego, ludzie patrzą na nas krzywo i się złoszczą
  16. Spróbujmy zatem jeszcze raz i Zacznijmy naszą analogię od nowa
  17. Mamy starą przeglądarkę, która jest jak stary telewizor
  18. Oraz nową przeglądarkę, która jest jak nowy telewizor hd z bazylionem cali w przękątnej
  19. Jak widać sprawa jest prosta i wszystko jest jasne. Telewizja rozwiązała ten problem Nikt nie skaży się że na starym odbiorniku, nie może oglądać telewizji w HD.
  20. Taki efekt jednak osiągamy, gdy trzymamy się pierwszej analogii, według której we wszystkich przeglądarkach wygląd stron ma być identyczny.
  21. Nie trzeba chyba dodawać nic więcej, Nie jest to najlepsza droga
  22. Wniosek #2 zatem brzmi
  23. Dobrze, teraz czas na krótką dygresję... Pomoże nam ona w zrozumieniu poprawności drugiego wniosku
  24. Podam Wam teraz odpowiedź na wielkie pytanie dotyczące projektowanie stron www Czy ktoś z was wie jak ona jest ?
  25. Czy strony muszą być tak samo doświadczane w każdej przeglądarce?
  26. Teraz mała demonstracja, aby nie pozostać gołosłownym Jak widzicie, forma się różni, ale treść pozostaje bez zmian Innymi słowy aby przekazać użytkownikowi konkretną wiadomość nie jest konieczne dążenie do tego, by zawsze i wszędzie forma przekazu była identyczna
  27. OK, jesteśmy mniej więcej w połowie, zatem po odrobinie teorii, czas na trochę praktycznych wskazówek, jak osiągnąć wysoką prędkość działania
  28. Dlaczego prędkość jest tak ważna?
  29. Dotychczas, gdy internet nie był mobilny, sytuacja przedstawiała się następująco. Komputer stacjonarny, nierzadko podłączony bezpośrednio, z publicznym IP, oddzielony od docelowego serwera zaledwie o kilka hopów
  30. Teraz natomiast, pomiędzy użytkownikiem końcowym a serwerem jest znacznie dłuższa droga, mamy więcej maszyn pośrednich i biorących udział w komunikacji Użytkownik jest też mobilny, co niesie za sobą gorszą jakość łącza, większy potencjał błędów oraz technicznie patrząc – w porównaniu z kablem, czy światłowodem – niższą przepustowość
  31. Jeśli ktoś nadal nie jest przekonany, i zadaje sobie pytanie „no ale dlaczego(!)?”
  32. Powód jest prosty, limit połączeń wynosi 6 Wyjątkiem jest teraz IE 10 z limitem wynoszącym 8. Co to oznacza? Przeglądarka jest w stanie jednocześnie pobierać tylko 6 zasobów: CSS, JS, obrazków Gdy na stronie mamy ich 60, to potrzebnych będzie 10 cykli, by pobrać wszystkie i to że mamy akurat dostępne łącze 3G i dostępny 1 megabit, nie ma tu znaczenia
  33. Celem naszym jest zatem ograniczenie ilości zasobów, które będzie musiała pobrać przeglądarka.
  34. Wszędzie gdzie to możliwe powinniśmy zastąpić grafiki kodem CSS3 – cienie, gradienty, zaokrąglone rogi – wszystko to co kiedyś osiągalne było za pomocą grafik, teraz to jedynie kilka linii kodu Bardziej skomplikowane elementy graficzne można umieścić inline zamiast odwoływać się do zasobów zewnętrznych wykorzystując Data URI. Jedyną wadą tego rozwiązania jest około 40% przyrost danych w porównaniu z oryginałem z racji na kodowanie base64 Można też połączyć wiele obrazów w jeden większy sprite i zamiast n osobnych requestów, wykonywać tylko 1 i pobawić się ujemnymi wartościami background position
  35. Gdy skorzystanie z zewnętrznego zasobu jest jednak konieczne, to przed umieszczenie grafiki na serwerze dobrze będzie przepuścić ją przez optymalizator. Szczególnie duże oszczędności uzyskamy, w przypadku małych grafik zapisywanych z Photoshopa, w których procent komentarzy-śmieci pośród wszystkich danych w pliku graficznym wynosi nierzadko kilkadziesiąt procent
  36. Kolejnym elementem jaki można zoptymalizować to skrypty i style. Usuwanie zbędnych białych znaków, komentarzy, pustych bloków i deklaracji Także łączenie wielu plików w jeden wynikowy by zminimalizować ilośćrequestów do serwera, to przydatne zabiegi. Krótki research w google, da wam dziesiątki linków do aplikacji desktop i online
  37. Wszelkie minifikatory usuną nam zbędne spacje, zbędne średniki z końca linii, jednakże błędów logicznych, czy też semantycznych nie poprawią. O te rzeczy musimy dbać samemu.
  38. Owijanie listy, która jest już elementem blokowym, w kolejny kontener jest w większości przypadków zbędne Z pomocą w ograniczeniu ilości przesyłanych danych przyjdzie nam też zwykłe wycięcie zbędnych białych znaków z wynikowego HTMLa Zauważcie też, że prefix http: jest zbędny
  39. W ograniczeniu ilości przesyłania danych pomoże nam poprawna konfiguracja pamięci podręcznej i kompresji danych na wyjściu serwera Ciekawostka – kiedyś - Home.pl / nazwa.pl – brak kompresji i cache&apos;owania Ststyczna treść na subdomen - Obrazki, video, css – ograniczenie ilosci cookie Ciekawostka - Analytics domyślnie na poddomeny SLL = brak pamięci podręcznej Lazy loading - Bounce rate, niepotrzebnie pobrane obrazki, treść Redirect w htaccess 20-30ms, w kodzie PHP 200-300ms
  40. Jak pamiętacie z jednego z poprzednich slajdów w przypadku użytkownika mobilnego serwer DNS może być od niego znacznie oddalony Warto zatem w nagłówku dokumentu, powiedzieć przeglądarce, o które domeny zawczasu ma odpytać serwer DNS http://tech.vg.no/2013/02/09/speed-up-websites-using-dns-prefetching/
  41. http://s.codepen.io/paulirish/fullpage/nkwKs http://codepen.io/paulirish/full/LsxyF Testowanie na różnych choć tych samych urządzeniach
  42. I na koniec jeszcze jedna wskazówka Zwracajcie uwagę na to, bo ograniczać ilość zmian układu strony. Atrybuty width i height dla obrazków są jak najbardziej poprawne w HTML5 Dają one przeglądarce informacje o tym ile miejsca zarezerwować na stronie na grafikę, która załaduje się dopiero za jakiś czas
  43. Wyolbrzymiony Ale dobitnie pokazujący w czym rzecz
  44. Na koniec, krótkie podsumowanie Responsywność to przede wszystkim szybkość działania i rekacji na akcje użytkownika Strony internetowe i przeglądarki, Aby zachować jednoznaczność przekazu, jego forma nie musi być zawsze ta sama. Możemy zrezygnować – mówiąć kolokwialnie – ze zbędnych bajerów, bez ryzyka, że snie przekażemy użytkownikowi części treści Aby zachowaćszybkośćdziałania, im mniej wszystkiego - mniej grafik ,styli, skryptów, użytego transferu, tym lepiej