Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Responsive Webdesign Drupallal

Responsive Webdesign Drupallal

Drupal Hétvége 2012 előadásom

Tamás Hajas

November 24, 2012
Tweet

More Decks by Tamás Hajas

Other Decks in Programming

Transcript

  1. Responsive webdesign Drupallal Drupal Hétvége 2012 Hajas Tamás http://thamas.hu @eccegostudio

    „Hunglish” :) RWDD - Mi kell hozzá? D8 ;) lehetséges eszközök, megoldások, nem a „legjobbak”
  2. Responsive webdesign Drupallal Responsive = válaszadó Mire? Az eszközre =

    context! Lehetőség: native app - l. ma Reisinger RWD is the concept of developing a website in a way that allows the layout to adjust according to the user’s screen resolution (view port) using media queries
  3. http://bradfrostweb.com/blog/web/responsive-web-design-missing-the-point/ Nem mondok számokat, található sok statisztikai Lényeg: (a webes

    elérést biztosító) hordozható eszközök aránya dinamikusan nő A web nem fix méretű
  4. "The point of creating [responsive] sites is to create functional

    (and hopefully optimal) user experiences for a growing number of web-enabled devices and contexts." ~ Brad Frost Idézi: http://snugug.com/musings/principles-responsive-web-design Mobile first - Luke Wroblewski Repeat after me: Responsive Web Design isn’t about current devices and known unknowns, it’s about future devices and unknown unknowns. Donald Rumsfeld
  5. Media Queries CSS2 <link rel="stylesheet" type="text/css" media="screen" href="screen-styles.css"> CSS3 <link

    rel="stylesheet" media="screen and (orientation: portrait)and (min-width: 400px) and (max-width: 800px)" href="tablet.css" /> HTML-ben! D8 breakpoints
  6. Media Queries CSS3 … @media screen and(min-width: 400px){ vonatkozó CSS

    beállításaink } @media screen and (min-width: 800px) { vonatkozó CSS beállításaink } CSS nem csak width lehet, hanem height, device-w, dh, orientation, aspect-ratio, color, resulution etc. lte IE8 - polyfill Graceful Degradation (~ „elegáns leépítés”) Progressive Enhancement (~ „fokozatos erősítés”)
  7. Media Queries [if lte IE 8] Conditional classes: Paul Irish

    http://paulirish.com/2008/conditional- stylesheets-vs-css-hacks-answer-neither/ Respond.js - min-width, max width támogatása Modernizr - később bővebben
  8. Media Queries [if lte IE 8] Respond.js https://github.com/scottjehl/Respond Conditional classes:

    Paul Irish http://paulirish.com/2008/conditional- stylesheets-vs-css-hacks-answer-neither/ Respond.js - min-width, max width támogatása Modernizr - később bővebben
  9. Media Queries [if lte IE 8] Respond.js https://github.com/scottjehl/Respond + Modrenizr

    http://modernizr.com/ Conditional classes: Paul Irish http://paulirish.com/2008/conditional- stylesheets-vs-css-hacks-answer-neither/ Respond.js - min-width, max width támogatása Modernizr - később bővebben
  10. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  11. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  12. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően Responsive Layout: Fluid oldal elrendezések váltása eszközfüggően kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  13. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően Responsive Layout: Fluid oldal elrendezések váltása eszközfüggően kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  14. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően Responsive Layout: Fluid oldal elrendezések váltása eszközfüggően De: responsive design az adaptive design része!(?) kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  15. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően Responsive Layout: Fluid oldal elrendezések váltása eszközfüggően De: responsive design az adaptive design része!(?) kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  16. Adaptive vs. Responsive Adaptive layout: Fix szélességű oldal elrendezések váltása

    eszközfüggően Responsive Layout: Fluid oldal elrendezések váltása eszközfüggően De: responsive design az adaptive design része!(?) http://viljamis.com/blog/2012/adaptive-vs-responsive- whats-the-difference.php kitérő: adaptive layout vs responsive layout adaptive design vs responsive design
  17. Grid systems grid felképítése: oszlopok (column), oszlopközök (gutter) 960 gs

    - fix, statikus szimmetrikus - egyelő eloszlású (lehet fix, fluid, "Magic") Susy - Eric Meyer (nem „az”, hanem egy másik), D7 d.org theme grid tool! asszimetrikus: kül oszlop és gutter szélességk
  18. Grid systems • „klasszikus” pl. 960.gs grid felképítése: oszlopok (column),

    oszlopközök (gutter) 960 gs - fix, statikus szimmetrikus - egyelő eloszlású (lehet fix, fluid, "Magic") Susy - Eric Meyer (nem „az”, hanem egy másik), D7 d.org theme grid tool! asszimetrikus: kül oszlop és gutter szélességk
  19. Grid systems • „klasszikus” pl. 960.gs • szimmetrikus: pl. Zen

    Grids, Susy grid felképítése: oszlopok (column), oszlopközök (gutter) 960 gs - fix, statikus szimmetrikus - egyelő eloszlású (lehet fix, fluid, "Magic") Susy - Eric Meyer (nem „az”, hanem egy másik), D7 d.org theme grid tool! asszimetrikus: kül oszlop és gutter szélességk
  20. Grid systems • „klasszikus” pl. 960.gs • szimmetrikus: pl. Zen

    Grids, Susy • asszimetrikus: pl. Singularity grid felképítése: oszlopok (column), oszlopközök (gutter) 960 gs - fix, statikus szimmetrikus - egyelő eloszlású (lehet fix, fluid, "Magic") Susy - Eric Meyer (nem „az”, hanem egy másik), D7 d.org theme grid tool! asszimetrikus: kül oszlop és gutter szélességk
  21. Gridre épülő alapsminkek 960.gs: Omega Theme http://drupal.org/project/omega pl. Acquia klasszikus

    grid css class-okkal, de mq-k 4-es már sass, compass "point and click" sok szolgáltatás nagyon népszerű (marketing) pl. Acquia.com screenshot dia!
  22. Gridre épülő alapsminkek Zen Grids: Zen http://drupal.org/project/zen + http://drupal.org/project/fences pl.

    Sydney DrupalCon 2013 John Albin - D8 Mobile Initiative lead(?) sass, compass
  23. Gridre épülő alapsminkek Susy, Singularity : Aurora http://drupal.org/project/aurora + http://drupal.org/project/borealis

    Tony http://drupal.org/sandbox/tizzo/1426556 pl. Drupal.org D7 verziója (csak Susy) Sam Richard, @snugug Four Kitchens Aurora alsmink: Corona http://fourkitchens.com/blog/2012/11/13/compass-aurora-corona-oh-my borealis: semantic blocks, responsive images
  24. Sass és Compass Sass CSS preprocessor SASS: beágyazás, változók, @mixin-ek

    (függvény?), &:rules, @include (ezért nem kell class) Nem(!) a drupalban - külön fejlesztői eszköz, CSS-t generál "CSS Authoring Framework" - most már mindenki tudja, hogy mi ez és mire jó ;o) Matt Farina, Nathan Smith
  25. Sass és Compass Sass CSS preprocessor Compass "CSS Authoring Framework"

    SASS: beágyazás, változók, @mixin-ek (függvény?), &:rules, @include (ezért nem kell class) Nem(!) a drupalban - külön fejlesztői eszköz, CSS-t generál "CSS Authoring Framework" - most már mindenki tudja, hogy mi ez és mire jó ;o) Matt Farina, Nathan Smith
  26. Sass és Compass Sass CSS preprocessor Előregyártott Sass kódok rendszerbe

    szervezett fejlesztői eszközként (szoftverként) használható gyűjteménye Compass "CSS Authoring Framework" SASS: beágyazás, változók, @mixin-ek (függvény?), &:rules, @include (ezért nem kell class) Nem(!) a drupalban - külön fejlesztői eszköz, CSS-t generál "CSS Authoring Framework" - most már mindenki tudja, hogy mi ez és mire jó ;o) Matt Farina, Nathan Smith
  27. Sass és Compass Sass CSS preprocessor Előregyártott Sass kódok rendszerbe

    szervezett fejlesztői eszközként (szoftverként) használható gyűjteménye http://denver2012.drupal.org/program/sessions/using-sass-compass-drupal- theming Compass "CSS Authoring Framework" SASS: beágyazás, változók, @mixin-ek (függvény?), &:rules, @include (ezért nem kell class) Nem(!) a drupalban - külön fejlesztői eszköz, CSS-t generál "CSS Authoring Framework" - most már mindenki tudja, hogy mi ez és mire jó ;o) Matt Farina, Nathan Smith
  28. • az említett grid systemek Compass extension-ök • Breakpoint https://github.com/canarymason/breakpoint

    Breakpoint: töréspontok azonosítása Respond to: breakpointra épül, szemantikus elnevezések
  29. • az említett grid systemek Compass extension-ök • Breakpoint https://github.com/canarymason/breakpoint

    • Respond to https://github.com/snugug/respond-to Breakpoint: töréspontok azonosítása Respond to: breakpointra épül, szemantikus elnevezések
  30. • az említett grid systemek Compass extension-ök • Breakpoint https://github.com/canarymason/breakpoint

    • Respond to https://github.com/snugug/respond-to • Sassy Buttons http://jaredhardy.com/sassy-buttons/ Breakpoint: töréspontok azonosítása Respond to: breakpointra épül, szemantikus elnevezések
  31. • az említett grid systemek Compass extension-ök • Breakpoint https://github.com/canarymason/breakpoint

    • Respond to https://github.com/snugug/respond-to • Sassy Buttons http://jaredhardy.com/sassy-buttons/ • és sok más Breakpoint: töréspontok azonosítása Respond to: breakpointra épül, szemantikus elnevezések
  32. HTML5 • Egyszerűbb, áttekinthetőbb kód (dev) • Kevesebb adat (performance)

    • Szemantikus (SEO, mobil eszközök) HTML 5 initiative!
  33. HTML5 • Egyszerűbb, áttekinthetőbb kód (dev) • Kevesebb adat (performance)

    • Szemantikus (SEO, mobil eszközök) • Előremutató… HTML 5 initiative!
  34. HTML5 • Egyszerűbb, áttekinthetőbb kód (dev) • Kevesebb adat (performance)

    • Szemantikus (SEO, mobil eszközök) • Előremutató… [if lte IE 9] HTML5 shiv https://github.com/aFarkas/html5shiv HTML 5 initiative!
  35. "Fluid images" Ugyanaz a kép több különböző méretben • Responsive

    Images and Styles http://drupal.org/project/resp_img • Adaptie Image Styles http://drupal.org/project/ais • Retina Images http://drupal.org/project/retina_images Nem ImageCache :) Performance! D8 - picture module
  36. Fluid Video Saját videók (nem beágyazott) width, height Beágyazott videók

    (pl. youtube) FitVids http://drupal.org/project/fitvids CSS - position rel, abs
  37. Fluid Video Saját videók (nem beágyazott) width, height CSS http://webdesignerwall.com/

    tutorials/css-elastic-videos Beágyazott videók (pl. youtube) FitVids http://drupal.org/project/fitvids CSS - position rel, abs
  38. Egyéb teendők Navigáció • Az emberi ujj nem egér! •

    Az oldal átrendezése • Lista helyett legördülő (számtalan JS van erre) • Csak CSS: https://github.com/micjamking/Navigataur a konkrét site igényeitől, komplexitásától függ, hogy milyen megoldás, eszközök lehetnek jók
  39. Egyéb teendők Táblázatok, kisebb képernyőn • oszlopok kihagyása • elemek

    átrendezése • más módon való megjelenítés (pl. diagramm) D8-ban responsive tables
  40. Teljesítmény javítás "80-90% az eddigiek is érintették már többször a

    teljesítményt mobil eszköz » kisebb sávszélesség gyengébb teljesítmény (pl 10 x lassúbb JS feldolgozás)
  41. Teljesítmény javítás "80-90% of the end-user response time is spent

    on the frontend. Start there!" ~ Steve Souders http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/ az eddigiek is érintették már többször a teljesítményt mobil eszköz » kisebb sávszélesség gyengébb teljesítmény (pl 10 x lassúbb JS feldolgozás)
  42. Teljesítmény javítás • Design: képek helyett CSS3 • Admin Icons

    (Icon Fonts) http://drupal.org/project/admin_icons
  43. Teljesítmény javítás • Design: képek helyett CSS3 • Admin Icons

    (Icon Fonts) http://drupal.org/project/admin_icons • CSS Embedded Images http://drupal.org/project/css_emimagebackground: transparent url(data:image/ gif;base64,xyzwAi3…);
  44. Teljesítmény javítás • Image Optim Jpegmini, pngmini (OSX) http://imageoptim.com http://jpegmini.com

    • Riot (Win) http://luci.criosweb.ro/riot/ + jpegmini, pngmini - osx v. szerver
  45. Teljesítmény javítás • Image Optim Jpegmini, pngmini (OSX) http://imageoptim.com http://jpegmini.com

    • Smush.it (online – Yahoo Dev Net) http://www.smushit.com/ysmush.it/ • Riot (Win) http://luci.criosweb.ro/riot/ + jpegmini, pngmini - osx v. szerver
  46. Teljesítmény javítás • Image Optim Jpegmini, pngmini (OSX) http://imageoptim.com http://jpegmini.com

    • Smush.it (online – Yahoo Dev Net) http://www.smushit.com/ysmush.it/ • Riot (Win) http://luci.criosweb.ro/riot/ • Image Magick (metadata törlés) http://drupal.org/project/imagemagick/ + jpegmini, pngmini - osx v. szerver
  47. •Media Queries •Fluid Grids •Flexible Media •Performance Responsive weboldalak Drupallal

    – Drupal Hétvége 2012 Hajas Tamás http://thamas.hu @eccegostudio