echte lösungen, keine tricks

99
Echte Lösungen, keine Tricks!

Upload: jens-grochtdreis

Post on 14-Dec-2014

2.052 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

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/