Responsive Web Design - co z tego wynikło?

69
Responsive Web Design co z tego wynikło?

description

Omówienie ostatnich trendów w tworzeniu stron WWW, powiązanych z rosnącą popularnością responsywności.

Transcript of Responsive Web Design - co z tego wynikło?

Page 1: Responsive Web Design - co z tego wynikło?

Responsive Web Design co z tego wynikło?

Page 2: Responsive Web Design - co z tego wynikło?

✓ Główny programista w GavickPro

✓ @dziudek

✓ zebymniezapomnial.tumblr.com

Tomasz Dziuda

Page 3: Responsive Web Design - co z tego wynikło?
Page 4: Responsive Web Design - co z tego wynikło?

Responsywność?

Page 5: Responsive Web Design - co z tego wynikło?
Page 6: Responsive Web Design - co z tego wynikło?
Page 7: Responsive Web Design - co z tego wynikło?
Page 8: Responsive Web Design - co z tego wynikło?
Page 9: Responsive Web Design - co z tego wynikło?
Page 10: Responsive Web Design - co z tego wynikło?
Page 11: Responsive Web Design - co z tego wynikło?

Natywne aplikacje?

Page 12: Responsive Web Design - co z tego wynikło?
Page 13: Responsive Web Design - co z tego wynikło?

Fragmentacja

Źródło: http://opensignal.com/reports/fragmentation-2013/

Page 14: Responsive Web Design - co z tego wynikło?

Co na to Joomla?

Page 15: Responsive Web Design - co z tego wynikło?

Joomla! dzięki wykorzystaniu Bootstrapa od wersji 3.0 stała

się pierwszym w pełni responsywnym CMS-em.

Page 16: Responsive Web Design - co z tego wynikło?
Page 17: Responsive Web Design - co z tego wynikło?
Page 18: Responsive Web Design - co z tego wynikło?
Page 19: Responsive Web Design - co z tego wynikło?
Page 20: Responsive Web Design - co z tego wynikło?
Page 21: Responsive Web Design - co z tego wynikło?

Co na to twórcy szablonów?

Page 22: Responsive Web Design - co z tego wynikło?

Optymalizacja witryny

✓ CSS Sprites

✓ Kompresja plików CSS i JS

✓ Optymalizacja selektorów CSS

✓ Optymalizacja skryptów JS

Page 23: Responsive Web Design - co z tego wynikło?

Proste układy stron

Page 24: Responsive Web Design - co z tego wynikło?

Minimalistyczny design

Page 25: Responsive Web Design - co z tego wynikło?

“Gdy w końcu przeglądarki nauczyły się obsługiwać

zaokrąglone rogi i gradienty, przyszła moda na flat design.”

Page 26: Responsive Web Design - co z tego wynikło?

Źródło: http://appstronauts.com/

Page 27: Responsive Web Design - co z tego wynikło?

Źródło: http://www.getflow.com/

Page 28: Responsive Web Design - co z tego wynikło?

Źródło: http://getbootstrap.com/

Page 29: Responsive Web Design - co z tego wynikło?

Rozmiar strony

Page 30: Responsive Web Design - co z tego wynikło?

Problem z grafikami

✓ Dostosowanie rozmiaru grafik zależnie od rozmiaru ekranu i jego rozdzielczości

http://scottjehl.github.io/picturefill/

Page 31: Responsive Web Design - co z tego wynikło?

Rozmiary grafik - ciekawostka

Źródło: http://www.netvlies.nl/blog/design-interactie/retina-revolution

Page 32: Responsive Web Design - co z tego wynikło?

Problem ilości zapytań do serwera

✓ Optymalizacja kodu CSS

✓ Użycie rozszerzeń kompresujących (np. JCH Optimize)

✓ CDN?

Page 33: Responsive Web Design - co z tego wynikło?

Ogólna optymalizacja

✓ Zminimalizowanie ilości rozszerzeń

✓ Wykrycie zasobożernych rozszerzeń i optymalizacja ich użycia

✓ Wykorzystanie mechanizmu Cache

Page 34: Responsive Web Design - co z tego wynikło?

Ogólna optymalizacja

✓ Kompresja grafik

✓ Kompresja GZIP (dostępna w Joomla!)

✓ Unikamy przekierowań HTTP

✓ Odpowiednio skonfigurowany .htaccess

Page 35: Responsive Web Design - co z tego wynikło?

Architektura informacji

Page 36: Responsive Web Design - co z tego wynikło?

✓ Należy zastanowić się, które treści są przydatne dla użytkownika mobilnego a które dla użytkownika desktopowego

Page 37: Responsive Web Design - co z tego wynikło?

Suffiksy klas CSS

✓ Joomla! posiada wbudowany mechanizm suffiksów klas CSS.

Źródło: http://getbootstrap.com/2.3.2/scaffolding.html#responsive

Page 38: Responsive Web Design - co z tego wynikło?

✓ Ograniczenie ilości treści na stronie zależnie od sytuacji

✓ Joomla! pozwala publikować moduły na wybranych podstronach

Page 39: Responsive Web Design - co z tego wynikło?

Wydajność witryny

Page 40: Responsive Web Design - co z tego wynikło?

✓ Unikamy zasobożernych skryptów, animacji

✓ Unikamy rozbudowanych animacji z użyciem <canvas> i Flasha

Przy tworzeniu szablonów

Page 41: Responsive Web Design - co z tego wynikło?

✓ Unikamy dużej ilości grafik (zapełniają RAM)

✓ Unikamy za dużych grafik (j.w.)

Przy tworzeniu szablonów

Page 42: Responsive Web Design - co z tego wynikło?

✓ Unikamy position: fixed;✓ Unikamy złożonych animacji CSS3

Przy tworzeniu szablonów

Page 43: Responsive Web Design - co z tego wynikło?

Obecne trendy

Page 44: Responsive Web Design - co z tego wynikło?

Grafika wektorowa

1x 1.5x 2x

Page 45: Responsive Web Design - co z tego wynikło?
Page 46: Responsive Web Design - co z tego wynikło?

Font Awesome

Page 47: Responsive Web Design - co z tego wynikło?

Warte uwagi techniki

✓ clowncar dla obrazków

✓ trick z <svg> i <image>

✓ jednostki rem, vh, vw

✓ podejście mobile-first

✓ progressive enhancement

Page 48: Responsive Web Design - co z tego wynikło?

clowncar dla obrazków

✓ Sprytna technika ukrywająca media-queries wewnątrz grafiki SVG

✓ https://github.com/estelle/clowncar

Page 49: Responsive Web Design - co z tego wynikło?

<svg  xmlns="http://www.w3.org/2000/svg"  xmlns:xlink="http://www.w3.org/1999/xlink"  width="300"  height="329">    <title>The  Clown  Car  Technique</title>        <defs>        <style>        image  {display:  none;}        #small  {display:  block}        @media  screen  and  (min-­‐width:  401px)  and  (max-­‐width:  700px)  {                #medium  {display:  block}                #small  {display:  none}        }        @media  screen  and  (min-­‐width:  701px)  {                #big  {display:  block}                #small  {display:  none}        }        </style>    </defs>    <g>        <image  id="small"    height="329"  width="300"  xlink:href="images/small.png"  />        <image  id="medium"  height="329"  width="300"  xlink:href="images/medium.png"  />        <image  id="big"        height="329"  width="300"  xlink:href="images/big.png"  />    </g></svg>

<object  data="awesomefile.svg"  ></object>

Page 50: Responsive Web Design - co z tego wynikło?

Stosowalność w Joomla!

✓ Możliwe do zastosowania w treści artykułów i w szablonach od razu

✓ Rozszerzenia mogą wymagać dodatkowych modyfikacji

Page 51: Responsive Web Design - co z tego wynikło?

<svg> i <image>

✓ Sprytna technika do zastosowania dla niektórych elementów strony

✓ http://lynn.ru/examples/svg/en.html

Page 52: Responsive Web Design - co z tego wynikło?

<svg width="96" height="96"> <image xlink:href="svg.svg" src="svg.png" width="96" height="96"/></svg>

<svg width="96" height="96"> <image xlink:href="svg.svg" width="96" height="96"/></svg>

<img src="svg.png" width="96" height="96"/>

Page 53: Responsive Web Design - co z tego wynikło?

Stosowalność w Joomla!

✓ Podobnie jak w wypadku techniki clowncar

Page 54: Responsive Web Design - co z tego wynikło?

jednostki rem, vh, vw

✓ Jednostki te pozwalają łatwiej zarządzać rozmiarem tekstu

✓ i dopasować go do wymiarów ekranu urządzenia

✓ W wypadku VH i VW możemy też dostosowywać layout do ekranu urządzenia

Page 55: Responsive Web Design - co z tego wynikło?

Stosowalność w Joomla!

✓ Jednostki REM można śmiało stosować w stylach CSS i trzeba jedynie pamiętać o fallbacku dla IE8

✓ REM można też zastąpić w Joomla! 3.x kodem pisanym w LESS

✓ VH i VW to jednostki o ciągle słabym wsparciu szczególne w przeglądarkach mobilnych

Page 56: Responsive Web Design - co z tego wynikło?

Podejście mobile-first

✓ Bootstrap 3 opiera się na mobile-first

✓ pozwala uniknąć problemów z wydajnością strony i jej niedostosowaniem do małych ekranów urządzeń

Page 57: Responsive Web Design - co z tego wynikło?

Stosowalność w Joomla!

✓ Ograniczona - najlepiej poczekać na wprowadzenie Bootstrap 3 do JUI

Page 58: Responsive Web Design - co z tego wynikło?

Progressive enhancement

✓ Według wielu lepsze niż tzw. “Graceful degradation”

✓ Funkcjonalności dodawane są wraz z rosnącym ich wsparciem w danych urządzeniach - wydajniejsze urządzenie = więcej funkcjonalności

Page 59: Responsive Web Design - co z tego wynikło?

Stosowalność w Joomla!

✓ Ograniczona - podobnie jak w wypadku mobile-first

Page 60: Responsive Web Design - co z tego wynikło?

Co niesie przyszłość?

Page 61: Responsive Web Design - co z tego wynikło?

W przyszłości

✓ CSS Regions

✓ <picture>

✓ Element queries

Page 62: Responsive Web Design - co z tego wynikło?

CSS Regions

✓ Umożliwią reorganizację układu w zależnie od rozdzielczości

✓ Pozwalają na swobodny “przepływ” treści strony

http://html.adobe.com/webplatform/layout/regions/

Page 63: Responsive Web Design - co z tego wynikło?

Alternatywa - Intention.js

http://intentionjs.com/

<body> <header> <img intent in-standard-src="med.png" in-mobile-src="small.png" /> </header></body>

<body> <header> <img src="med.png" /> </header></body>

<body> <header> <img src="small.png" /> </header></body>

Page 64: Responsive Web Design - co z tego wynikło?

<picture>

✓ Tworzenie responsywnych grafik zależnych od rozdzielczości ekranu i jego DPI

<picture width="500" height="500"> <source media="(min-width: 45em)" src="large.jpg"> <source media="(min-width: 18em)" src="med.jpg"> <source src="small.jpg"> <img src="small.jpg" alt=""> <p>Accessible text</p></picture>

Page 65: Responsive Web Design - co z tego wynikło?

Element Queries

✓ Pozwolą na tworzenie responsywnych komponentów stron i ich ponowne wykorzystanie

✓ W niektórych wypadkach mogą wręcz całkowicie wyprzeć media-queries

.element (min-width: 500px) { width: 200px;}

Page 66: Responsive Web Design - co z tego wynikło?

Pytania?

Page 67: Responsive Web Design - co z tego wynikło?

-50% zniżki na licencje Developer i Business

Kod zniżkowy:

joomladay-2013plWażny od 5 do 12 października 2013