Modularisierung von Webseiten

69
Webseiten modular entwickeln Jens Grochtdreis

description

Webseiten sind keine Gesamtkunstwerke, sondern Zusammenstellungen einzelner Module. Dieser Vortrag von der Jax 2013 ergründet, wie man vorgeht, um sinnvolle und pflegbare M;odule zu erschaffen. Dabei wird vor allem Wert auf das CSS gelegt. Das CSS wird dank Sass ebenso modular, wie das HTML.

Transcript of Modularisierung von Webseiten

Page 1: Modularisierung von Webseiten

Webseiten modular entwickeln

Jens Grochtdreis

Page 2: Modularisierung von Webseiten

‣Frontendentwickler

‣seit 1999 Arbeit im und fürs Web

‣seit 2009 selbständig

‣Frontendentwicklung

‣Schulung

‣Beratung

‣twitter.com/Flocke

Page 3: Modularisierung von Webseiten

Seite ist eine Ansammlung von Modulen

Page 4: Modularisierung von Webseiten
Page 5: Modularisierung von Webseiten
Page 6: Modularisierung von Webseiten

‣ Jede Box hat eine obere Linie.

‣ Die Inhalte differieren, sind aber prinzipiell Listen.

‣ Eine Box kann eine Überschrift enthalten.

Page 7: Modularisierung von Webseiten

Platzierung sollte egal sein

Page 8: Modularisierung von Webseiten
Page 9: Modularisierung von Webseiten

Module entwickeln, nicht ganze Seiten!

Page 10: Modularisierung von Webseiten

Layout: Seitengrundgerüst

Page 11: Modularisierung von Webseiten

Module tragen Designinformationen

Page 12: Modularisierung von Webseiten

Umfangreiche Modulliste

Page 13: Modularisierung von Webseiten

http://structurae.de

Page 14: Modularisierung von Webseiten
Page 15: Modularisierung von Webseiten
Page 16: Modularisierung von Webseiten
Page 17: Modularisierung von Webseiten
Page 18: Modularisierung von Webseiten
Page 19: Modularisierung von Webseiten

Jedes dieser Module ist eine eigene Datei

Page 20: Modularisierung von Webseiten
Page 21: Modularisierung von Webseiten
Page 22: Modularisierung von Webseiten
Page 23: Modularisierung von Webseiten

Module richtig entwickeln

Page 24: Modularisierung von Webseiten

Das Modul ist sein eigenes Universum!

Page 25: Modularisierung von Webseiten

Trennung zwischen Layout und Design

Page 26: Modularisierung von Webseiten

Semantisch = HTML Design = CSS

Page 28: Modularisierung von Webseiten

Schnipsel im CSS dank Präprozessoren

Page 29: Modularisierung von Webseiten

CSS ist manchmal nervtötend unflexibel.

Page 30: Modularisierung von Webseiten

Einfacher wird es, wenn man CSS „programmiert“!

Page 31: Modularisierung von Webseiten
Page 32: Modularisierung von Webseiten

zentrales Stylesheet importiert Module und generiert ein CSS-File

Page 33: Modularisierung von Webseiten
Page 34: Modularisierung von Webseiten
Page 35: Modularisierung von Webseiten

Variablen

Page 36: Modularisierung von Webseiten
Page 37: Modularisierung von Webseiten
Page 38: Modularisierung von Webseiten

Module in Sass

‣ Ein Unterstrich vor der Dateiendung verhindert das rendern als einzelne Datei. Es entsteht ein „partial“. So kann man diese in eine zentrale Datei importieren und nachher gesammelt rendern lassen.

Page 39: Modularisierung von Webseiten

Richtiger Umgang mit Klassen

Page 40: Modularisierung von Webseiten
Page 42: Modularisierung von Webseiten

Styling über Klassen

Page 43: Modularisierung von Webseiten

Das media-Element

http://jsbin.com/ipupew/2/

Page 45: Modularisierung von Webseiten

https://smacss.com/

Page 46: Modularisierung von Webseiten

1. Base

2. Layout

3. Module

4. State (Zustand)

5. Theme

Die einzelnen Bestandteile

Page 47: Modularisierung von Webseiten

http://bem.info/method/

BEM

Page 48: Modularisierung von Webseiten

Block, Element, Modifier

Page 49: Modularisierung von Webseiten

Namenskonventionen

Page 50: Modularisierung von Webseiten

Klassen sind manchmal sinnvoller, als

Kontextselektoren

Page 51: Modularisierung von Webseiten
Page 52: Modularisierung von Webseiten

Semantische Klassen?

Page 53: Modularisierung von Webseiten

Nein! Pflegbare!

Page 54: Modularisierung von Webseiten

CSS = OptikSemantik = HTML

Page 55: Modularisierung von Webseiten

Farben über Klassen zuweisen

Page 56: Modularisierung von Webseiten

CSS

Page 57: Modularisierung von Webseiten

SCSS

Page 58: Modularisierung von Webseiten

Variablen in Sass

Page 59: Modularisierung von Webseiten

‣ IDs wenn überhaupt dann nur für grundlegende Elemente des Layouts nutzen.

‣ #header, #main, #sidebar, #footer

‣ Und natürlich für Formularelemente!

‣ Optik von Modulen über separate Klassen modifizieren.

Page 60: Modularisierung von Webseiten

‣Weitere Trennung sinnvoll:

‣ Klassen nur für Layout

‣ Klassen nur für Design

‣ Grundaufbau

‣ Theme

‣ Zustand

‣ Klassen nur für Zugriff mittels JavaScript

Page 61: Modularisierung von Webseiten

Realistische Dummy-Inhalte

Page 63: Modularisierung von Webseiten

Navigation

Page 65: Modularisierung von Webseiten

http://bueltge.de/html-ipsum/

Page 66: Modularisierung von Webseiten

Vorsicht bei horizontaler Navigation

http://grochtdreis.de/weblog/2009/10/18/schoener-navigationstitel/

Page 67: Modularisierung von Webseiten

Dummybilder

http://dummyimage.com/ http://lorempixel.com/

Page 68: Modularisierung von Webseiten

Dummybilder

http://placekitten.com/