Top Banner
Zeitgemäße Webentwicklung Anforderungen, Vorgehen und Best Practices
28

Zeitgemäße Webentwicklung

Jun 13, 2015

Download

Technology

Eine wilde Jagd durch's Gemüßebeet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Zeitgemäße Webentwicklung

Zeitgemäße WebentwicklungAnforderungen, Vorgehen und Best Practices

Page 2: Zeitgemäße Webentwicklung

MotivationErfahrungen in Agenturen:Viel Potential ging verloren, weil Vorgehen oft sehr chaotisch.

Besser:Feste Regeln und Strategien um auf der Höhe der aktuellen Anforderungen fokussiert und sorgenfrei entwickeln zu können.

Page 3: Zeitgemäße Webentwicklung

Anforderungen...an das Frontend und Backend.

Page 4: Zeitgemäße Webentwicklung

Separation of Concerns

Page 5: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit● Möglichst wenig HTTP-Requests

○ Konkatenieren von CSS- und JS-Dateien○ Spritesheets

● Minify CSS und JS

● Frühes gezieltes Leeren des Ausgabe-Buffers im Server

Page 6: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit● Bild-Optimierung (verlustfrei)

2.8 KB 1.13 KB ~70%

● Caching Zeiten und Strategie für erzwungenes Neuladen

Page 7: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit

Page 8: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit 1

Page 9: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit 1

2

Page 10: Zeitgemäße Webentwicklung

Lade-Geschwindigkeit 1

23

...

Page 11: Zeitgemäße Webentwicklung

Darstellungs-Ebene (CSS)Features● Transitions zwischen States / Animationen● Responsiveness durch Media Queries● Weitere optische Features in CSS3

Programmierung● Modular (Imports, Nesting und Mixins)● DRY (Variables)● Rad nicht neu erfinden

(Bibliotheken)● Cross-Browser (Bibliotheken und Mixins)● Besseres Namespacing (Nesting)● Minified Kompilierung● On-Change Kompilierung

Page 12: Zeitgemäße Webentwicklung

SASSVariables Nesting Mixins

Page 13: Zeitgemäße Webentwicklung

SASS

main.scss

*.scss *.scss *.scss *.scss *.scss *.scss *.scss *.scss

styles.css

Page 14: Zeitgemäße Webentwicklung

ResponsivenessVerschachtelung mit Media Queries:● nach innen (Graceful Degradation)● nach außen (Progressive Enhancement)

Page 15: Zeitgemäße Webentwicklung

ResponsivenessGraceful Degradation

@media (max-width: 432px)

@media (max-width: 999px)

definierenüberschreibenzurücksetzen

Page 16: Zeitgemäße Webentwicklung

Responsiveness

Page 17: Zeitgemäße Webentwicklung

AjaxVorteile:● Schnell Daten “on the fly” nachladen● Kein neuer Pageload (nur der Zustand ändert sich)● Geringere Serverlast (auch weil cachebar)

Nachteile:

● Es muss auch ohne gehen! (JavaScript, XMLHttpRequest und history.pushState)

● Im Frontend müssen geänderte Zustände “gepusht” werden● Das Backend muss beides unterstützen können:

Initialer Pageload

AJAX-Request

HTML-Wrapper

ContentBootstrap MVC

Page 18: Zeitgemäße Webentwicklung

SicherheitStudie der Cenzic zu Vulnerabilität von Webanwendungen

99% aller getesteten Webanwendungen hatten Sicherheitslücken in 2012

Page 19: Zeitgemäße Webentwicklung

Sicherheit

Sanitization

Top-Level Sanitization

Tiefer-gehende Validierung im Model

Page 20: Zeitgemäße Webentwicklung

SicherheitServerKonfigurationSichtbarkeiten einstellen

Error-Reporting: AUS

HTTP-Header ohne Server-Version

Webserver User nur mit nötigsten Rechten

Page 21: Zeitgemäße Webentwicklung

Barrierefreiheit● Struktur und Semantik (auch SOC!)

● Text-Alternative für graphische Elemente (Wenn Deko dann CSS)● “Unobtrusive” JavaScript● WAI-ARIA (Role, States, tabindex)● Skip-Links● Skalierbarkeit (relative Größenangaben)● Sensibler Umgang mit Plugin-Content, Videos, Sound usw

Page 22: Zeitgemäße Webentwicklung

Barrierefreiheit

Skiplink

Navigation

Content

Titel (richtige Reihenfolge)

Page 23: Zeitgemäße Webentwicklung

Barrierefreiheit WAI-ARIARole

States

Page 24: Zeitgemäße Webentwicklung

Suchmaschinen● Titel (<title>)

○ Reihenfolge beachten (Von Spezifischen zum Allgemeinen)○ kurz aber treffend○ einzigartig, singulär

● Beschreibung <meta name="description" content="...”/>○ Genauere und umfassendere Inhaltsangabe

● URL○ lesbar:

http://www.stephanlindauer.de/blog/post/eintrag-über-thema-xyz

Page 25: Zeitgemäße Webentwicklung

Soziale NetzwerkeKennzeichnung der Relevanten Elemente

Page 26: Zeitgemäße Webentwicklung

HTML

➔ Neue semantische Features

➔ 2D / 3D Kontext

➔ Multimedia

➔ Application Features

➔ CSS3

ABER: Fallback!

Page 27: Zeitgemäße Webentwicklung

Fragen?

Page 28: Zeitgemäße Webentwicklung

Danke für Ihre Aufmerksamkeit