frontend best practices

Post on 13-Dec-2014

2.593 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Vortrag von der WebTech 2011 in Mainz - lose zusammengetragene Empfehlungen für bessere Ergebnisse im Frontend

TRANSCRIPT

Frontend Best Practices

‣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

Die drei wichtigsten Best Practices

Nachdenken Recherchieren

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

Experimentieren

http://goo.gl/LohPq

Das Web ist per se flexibel

„Responsive Design“ ist also keine Neuerfindung

Der Konsument kann Informationen aus dem Internet

nutzen, wie er es möchte.

http://mediaqueri.es/

wichtige Erkenntnis: Es kann nicht DIE EINE Darstellungsform geben!

Unser Layout ist nur eine Empfehlung!

Frühzeitig auf Entwicklungsstrategie

einigen

IE ≠ modern

http://css3generator.com/

Progressive Enhancement

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

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

Graceful Degredation

‣ Fokus ist auf den modernsten Browsern

‣ ältere Browser bekommen eine abgespeckte Version

http://stuffandnonsense.co.uk/

Brutal Degredation

bis einschließlich IE8 moderne Browser

http://www.fillerati.com/

http://workdiary.de/

Semantik

Ein Slider - Grobskizze

IMAGE

KategorieÜberschriftHier steht ein kurzer erklärender Text.

InfosZusatzinfo1Zusatzinfo2

IMAGE

KategorieÜberschriftHier steht ein kurzer erklärender Text.

InfosZusatzinfo1Zusatzinfo2

IMAGE

KategorieÜberschriftHier steht ein kurzer erklärender Text.

InfosZusatzinfo1Zusatzinfo2

Mal ohne Semantik

Mal mit Semantik

Das falsche Element!

Warum keine Überschrift?

http://www.faz.net/

neue semantische Elemente

An die Konsequenzen denken

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/

Mit Javascript

Ohne Javascript

Erkenntnisse gelten selten für alle Zeiten

‣ Das Drei-Schichten-Modell überlebt sich, denn HTML5 ist im Wesentlichen Javascript!

‣ Browser ändern sich. Deshalb ist es weniger wichtig, alle Javascripte in den Fuss der Seite zu platzieren.

http://goo.gl/2h7TZ

Über Barrieren nachdenken

Keine vermeidbaren Barrieren

‣ Das Netz ermöglicht es erstmals, dass JEDER auf Informationen zugreifen kann und in Interaktion treten kann.

‣ Warum also sich selber und die Reichweite des eigenen Angebotes beschränken?

http://failblog.org/2010/04/08/epic-fail-photos-hand-rail-fail/

mehr ...

mehr ...

mehr ...

mehr ...

Konkretes Beispiel

Lösung dafür: WAI-ARIA

Kleiner Bildschirm

Keine Maus

Keine Popups

Paradigmenwandel: Barrierefreiheit alsnachträglicher Einfall, drangedübelt

http://www.flickr.com/photos/beelzebozo/1503756/

Barrierefreiheit als integrales Element

http://www.flickr.com/photos/pixeldiva/2109688648/

Farbkontraste

http://www.ctrl-verlust.net/

http://snurl.com/t58gj

Fokus

So nicht!

Den Fokus nicht vergessen!

moderne Selektoren

‣ 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.

DRY - Don‘t repeat yourself

„ If I can see further than anyone else, it is only because I am standing

on the shoulders of giants. “

Sir Isaac Newton

Frameworks nutzen!

Nicht blind nutzen

‣ Plugins für jQuery, Wordpress, TYPO3 (...) müssen nicht sinnvoll und gut sein.

‣ Erst testen! Nicht unkritisch nutzen!

Nicht in Tools und Techniken zu sehr verlieben

‣ Nach sinnvollen Einsatzzwecken von Techniken suchen.

‣ Nicht alles machen, weil es gerade möglich ist.

‣ Immer an die Semantik denken.

http://benthebodyguard.com/

Realistische Dummy-Inhalte

Navigation

Vorsicht bei horizontaler Navigation

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

Dummybilder

http://dummyimage.com/ http://lorempixum.com/

Dummybilder

http://placekitten.com/

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

Was konnten wir bisher mit CSS machen?

‣ 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

Welche Lücke füllt CSS3?

Animationen

Verringerung des Grafikeinsatzes

neue Layoutmodelle

mehr Möglichkeiten mit Rahmen und Hintergründen

neue Selektoren

runde Ecken

Verläufe (gradient)

Transitions

mehrere Spaltencalc()

Transparenz mit rgba()

media-queries

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.

Die Nachteile

Es gibt keine!

Oder doch einen kleinen

Individuelle Schriften mittels @font-face

http://campwapo.org/

‣ Alle Browser können es, auch der IE6!

‣ Die eigentlich gedachte Syntax funktioniert nicht!

‣ Die Resultate sind unter Windows oft erbärmlich, da dessen Schriftrendering zu vielen Schriftarten nicht passt.

‣ Lizenzprobleme

‣ sehr viele freie Schriften

‣ einige gute Tools und Dienste

http://www.delicious.com/Flocke/font-face

http://www.fontsquirrel.com/

http://www.google.com/webfonts

Textersetzung und Cufon

‣ Cufon funktioniert nur mit Javascript und ist ein Barrierefreiheitsproblem. Eine Seite mit Cufon ist nicht barrierefrei. [http://goo.gl/8HWIq]

‣ Alle CSS-Textersetzungstechniken haben irgendeinen Nachteil, auch bei Barrierefreiheit.

http://www.paciellogroup.com/blog/2009/06/notes-accessibility-of-text-replacement-using-html5-canvas/

HTML5-Formularelemente

HTML5-Formularelemente

http://wufoo.com/html5/

Date

Opera 11.5

Chrome 15 dev Firefox 5

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

Das placeholder-Attribut

Und wenn ein Browser die neuen Elemente nicht kennt?

Dann werden die neuen Input-Elemente zu

<input type=“text“>

Eingebaute Validierung

Firefox 5 Mac

Opera 11.5 Mac

Chrome 15 dev Mac

Chrome kommt mit skalierten Seiten nicht zurecht!

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

Twitter: @Flocke

Slideshare: Flocke669

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/

top related