Echte Lösungen, keine Tricks

99
Echte Lösungen, keine Tricks!

description

Deutschsprachige Version eines Vortrags bei der SAE Alumni Convention 2011 über moderne Webentwicklung im Fokus von HTML5 und CSS3

Transcript of Echte Lösungen, keine Tricks

Page 1: Echte Lösungen, keine Tricks

Echte Lösungen, keine Tricks!

Page 2: Echte Lösungen, keine Tricks

‣Frontendentwickler

‣10 Jahre Agenturerfahrung

‣12 Jahre Arbeit im und fürs Web

‣Gründer der Webkrauts

‣Blogger

‣Autor für: PHPMagazin, PHPUser, T3N,Webstandards-Magazin

‣Fachliche Buchbetreuung bei Galileo, O'Reilly, MuT

Jens Grochtdreis

Page 3: Echte Lösungen, keine Tricks
Page 4: Echte Lösungen, keine Tricks
Page 6: Echte Lösungen, keine Tricks

Immer weniger Dokumente, immer mehr Applikationen

Page 7: Echte Lösungen, keine Tricks
Page 8: Echte Lösungen, keine Tricks
Page 9: Echte Lösungen, keine Tricks

Fehlende Bedienelemente

Page 10: Echte Lösungen, keine Tricks
Page 11: Echte Lösungen, keine Tricks

Was konnten wir bisher mit CSS machen?

Page 12: Echte Lösungen, keine Tricks

‣ Texte formatieren

‣ Farben für Vorder- und Hintergründe

‣ Positionierungen

‣ Floats

‣ Bilder werden für viele Lösungen benötigt

‣ Manchmal wird Extra-Markup für Bilder-Lösungen benötigt

‣ Transparenz mit Nebenwirkungen

Page 13: Echte Lösungen, keine Tricks

HTML5-Schlaglichter

Page 14: Echte Lösungen, keine Tricks

One Doctype to rule them all

<!DOCTYPE html>

Page 15: Echte Lösungen, keine Tricks

Links um Blockelemente

Page 16: Echte Lösungen, keine Tricks

Neue semantische Elemente

Page 17: Echte Lösungen, keine Tricks

Neue HTML5-Elemente

http://html5doctor.com/designing-a-blog-with-html5/#comment-17535

Page 18: Echte Lösungen, keine Tricks

Neue semantische Elemente

‣ Nehmen an vielen Stellen den Platz des DIV ein.

‣ Orientieren sich an der gelebten Praxis im Web.

‣ Keine besonderen Funktionen im Browser. Einfach neue Elemente.

‣WAI-ARIA inklusive!

Page 19: Echte Lösungen, keine Tricks

Neue Semantik

‣ Feinstrukturierung des Inhalts

‣ Browser übernimmt Überschriftenhierarchie. Auf komplexen Seiten ist das klasse! Outline-Algorithmus

Page 20: Echte Lösungen, keine Tricks

http://html5doctor.com/

Page 21: Echte Lösungen, keine Tricks

Der Outline-Algorithmus

Page 22: Echte Lösungen, keine Tricks

Überschriften

‣ HTML4/XHTML: 6 Überschriften

‣ HTML5: unendlich viele Überschriften

Page 23: Echte Lösungen, keine Tricks
Page 24: Echte Lösungen, keine Tricks

‣ Jeder Inhalt innerhalb des <body>-Elements ist Teil einer "section" (eines Abschnitts). Sections können in HTML5 verschachtelt werden.

‣ Das <body>-Element ist die Haupt-Section. Weitere Sections werden implizit (h1 - h6)oder explizit definiert.

‣ Explizit definieren folgende Elemente eine Section:

‣ <body>, <section>, <article>, <aside>, <footer>, <header>, <nav>

Page 25: Echte Lösungen, keine Tricks

https://developer.mozilla.org/en/Sections_and_Outlines_of_an_HTML5_document

Jede Section hat eine eigene Überschriftenhierarchie

Page 26: Echte Lösungen, keine Tricks

Die Outline - Unsicherheit

Aus MDN-Artikel

http://gsnedders.html5.org/outliner/process.py

Online-Outliner-Tool

Page 28: Echte Lösungen, keine Tricks

An die Konsequenzen denken!

Page 29: Echte Lösungen, keine Tricks

http://code.google.com/p/html5shim/

‣ HTML5-Seiten funktionieren in alten Browsern nur mittels Javascript. Das betrifft im Wesentlichen IE bis einschließlich Version 8.

http://www.modernizr.com/

Page 30: Echte Lösungen, keine Tricks

Mit Javascript

Page 31: Echte Lösungen, keine Tricks

Ohne Javascript

Page 32: Echte Lösungen, keine Tricks

HTML5-Formularelemente

Page 33: Echte Lösungen, keine Tricks

HTML5-Formularelemente

Page 34: Echte Lösungen, keine Tricks

Passende Bildschirmtastatur

Page 35: Echte Lösungen, keine Tricks

http://wufoo.com/html5/

Page 36: Echte Lösungen, keine Tricks

Date

Opera 11.5

Chrome 15 dev Firefox 5

Page 37: Echte Lösungen, keine Tricks

http://wufoo.com/html5/attributes/01-placeholder.html

Das placeholder-Attribut

Page 38: Echte Lösungen, keine Tricks

Und wenn ein Browser die neuen Elemente nicht kennt?

Page 39: Echte Lösungen, keine Tricks

Dann werden die neuen Input-Elemente zu

<input type=“text“> und Attribute ignoriert

Page 40: Echte Lösungen, keine Tricks

Eingebaute Validierung

Firefox 5 Mac

Opera 11.5 Mac

Chrome 15 dev Mac

Chrome kommt mit skalierten Seiten nicht zurecht!

Page 41: Echte Lösungen, keine Tricks

Und wenn der Browser die Validierung nicht kennt? ‣ Ignorieren ( = Progressive enhancement)

‣ JS-Alternativen bei Bedarf nachladen, bspw. mit Modernizr (http://modernizr.com)

‣ Polyfills verwenden

‣ https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

Page 42: Echte Lösungen, keine Tricks
Page 43: Echte Lösungen, keine Tricks

Welche Lücke füllt CSS3?

Page 44: Echte Lösungen, keine Tricks

Animationen

Verringerung des Grafikeinsatzes

neue Layoutmodelle

mehr Möglichkeiten mit Rahmen und Hintergründen

neue Selektoren

Page 45: Echte Lösungen, keine Tricks

runde Ecken

Verläufe (gradient)

Transitions

mehrere Spaltencalc()

Transparenz mit rgba()

media-queries

Page 46: Echte Lösungen, keine Tricks

Die Vorteile

‣Weniger Schmuckbilder werden benötigt.

‣Weniger Javascript wird benötigt.

‣ Animationen und Transitionen sind mittels CSS schneller, als mittels Javascript.

‣ Es wird seltener Code nur für Optik benötigt, der Quellcode schmaler und lesbarer.

Page 48: Echte Lösungen, keine Tricks

Die Nachteile

Es gibt keine!

Page 49: Echte Lösungen, keine Tricks

Oder doch einen kleinen

Page 50: Echte Lösungen, keine Tricks

moderne Selektoren

Page 51: Echte Lösungen, keine Tricks

‣ Können ältere IE (bis einschließlich Version 8) nicht.

‣ Ihnen kann mittels Javascript geholfen werden.

‣Wenn es sich um keine „lebensnotwendigen“ Operationen handelt, ist eine Nachhilfe via Javascript okay.

Page 52: Echte Lösungen, keine Tricks
Page 54: Echte Lösungen, keine Tricks

Kann ich CSS3 und HTML5 schon heute nutzen?

Page 55: Echte Lösungen, keine Tricks

JEIN

Page 56: Echte Lösungen, keine Tricks

Manche neuen Eigenschaften sind in keinem Browser implementiert.

Page 57: Echte Lösungen, keine Tricks

Funktioniert das auch im IE?

http://www.sts.tu-harburg.de/projects/WEL/0911/images/Der%20Schrei.jpg

Page 61: Echte Lösungen, keine Tricks

Der Fortschritt richtet sich nach dem Langsamsten

wegen dessen Verbreitung.

Page 62: Echte Lösungen, keine Tricks

http://blogs.sitepointstatic.com/images/tech/121-ie6-mod-orange.jpg

Alte IE-Versionen ...

Page 63: Echte Lösungen, keine Tricks

Wir sind gefangen zwischen Modernität und IE!

Page 64: Echte Lösungen, keine Tricks

Das Web ist per se flexibel

Page 65: Echte Lösungen, keine Tricks

„Responsive Design“ ist also keine Neuerfindung

Page 66: Echte Lösungen, keine Tricks
Page 67: Echte Lösungen, keine Tricks

Der Konsument kann Informationen aus dem Internet

nutzen, wie er es möchte.

Page 68: Echte Lösungen, keine Tricks

http://mediaqueri.es/

Page 70: Echte Lösungen, keine Tricks

wichtige Erkenntnis: Es kann nicht DIE EINE Darstellungsform geben!

Page 72: Echte Lösungen, keine Tricks

Unser Layout ist nur eine Empfehlung!

Page 73: Echte Lösungen, keine Tricks

Frühzeitig auf Entwicklungsstrategie

einigen

Page 74: Echte Lösungen, keine Tricks

IE ≠ modern

http://css3generator.com/

Page 75: Echte Lösungen, keine Tricks

Progressive Enhancement

http://www.alistapart.com/articles/understandingprogressiveenhancement/

‣ Fokus ist auf den Content, denn um den geht es am Ende (fast) immer

Page 76: Echte Lösungen, keine Tricks

Graceful Degredation

‣ Fokus ist auf den modernsten Browsern

‣ ältere Browser bekommen eine abgespeckte Version

http://stuffandnonsense.co.uk/

Page 77: Echte Lösungen, keine Tricks

Brutal Degredation

bis einschließlich IE8 moderne Browser

http://www.fillerati.com/

Page 78: Echte Lösungen, keine Tricks

http://workdiary.de/

Page 79: Echte Lösungen, keine Tricks

Umgang mit dem IE

Page 80: Echte Lösungen, keine Tricks

Fallbacklösungen

Page 81: Echte Lösungen, keine Tricks

‣ Microsoft hat im Wesentlichen erst ab dem IE9 beschlossen, an der technischen Weiterentwicklung des Internets zu partizipieren.

‣ Für viele Techniken ist es also egal, ob wir vom IE6 oder IE8 reden.

‣ Manches kann man mit Javascript simulieren.

‣ Manches kann man ansatzweise mit IE-Filtern realisieren.

‣ Ansonsten: graceful degredation / progressive enhancement

Page 82: Echte Lösungen, keine Tricks

Auch mit modernen Techniken kann man Unfug

machen

Page 83: Echte Lösungen, keine Tricks

CSS3 ≠ immer sinnvoll

http://codepo8.github.com/CSS3-Rainbow-Dividers/

Page 85: Echte Lösungen, keine Tricks

Frameworks/Tools

Page 87: Echte Lösungen, keine Tricks

http://www.modernizr.com/

Page 89: Echte Lösungen, keine Tricks

http://www.css3.me/

Page 90: Echte Lösungen, keine Tricks

http://www.css3maker.com/

Page 91: Echte Lösungen, keine Tricks

http://css3.mikeplate.com/

Page 97: Echte Lösungen, keine Tricks

Die drei wichtigsten Best Practices

Nachdenken Recherchieren

http://goo.gl/HbFx0http://goo.gl/NYGeI

Experimentieren

http://goo.gl/LohPq

Page 98: Echte Lösungen, keine Tricks

Twitter: @Flocke

Slideshare: Flocke669

Page 99: Echte Lösungen, keine Tricks

Jens Grochtdreishttp://grochtdreis.de

http://twitter.com/Flockehttp://webkrauts.de

http://slideshare.net/Flocke669

Diese Präsentation steht unter der Creative Commons Lizenz „Attribution-ShareAlike 2.0“ http://creativecommons.org/licenses/by-sa/2.0/de/