10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
1.
2. WER BIN ICH?
• Sebastian Springer
• https://github.com/sspringer82
• @basti_springer
• Consultant,Trainer,Autor
3. Warum erzähle ich euch
das?
• Wir schlagen uns schon länger mit
Webapplikationen herum
• Wir haben es schon mal falsch gemacht,
deswegen sollt ihr es nicht auch verkehrt machen
10. Auswahl
• Es gibt nicht die eine richtige Sprache
• Die gewählte Technologie sollte sich für die Lösung
eignen
• Erfahrung im Umgang mit der Technologie
• Evaluation
13. Frameworks
!
• Nicht für jede Aufgabe das Rad neu erfinden
• Frameworks lösen die meisten Standardprobleme
• Vorteil: Bugfixes, Support, Community
• Die meisten Webframeworks sind Open Source
16. Ressourcen?
• Eine der wichtigsten Ressourcen: Bandbreite
• Die Zeiten von Modems und ISDN sind vorbei?
• Geschwindigkeitsdrosselung bei Mobilgeräten
• Kunden in Strukturschwachen Gebieten
• Rechenkapazität auf den Client-Geräten
17. Ressourcen
• Minifizierung von HTML, CSS, JavaScript
• CSS Sprites
• Gezippte Kommunikation zwischen Client und
Server
19. Qualitätssicherung?
• Qualität der Software
• Fehler möglichst früh erkennen
• Umgang mit sensiblen Daten
• Kritische Transaktionen
• Features, die Umsatz für das Unternehmen
bedeuten
20. Qualitätssicherung
• Manuelle Testpläne
• Automatisierte Tests
• Unittests
• Statische- und dynamische Codeanalyse
• Metriken
• Der richtige Grad zwischen Kosten und Nutzen
27. Aktualisierung der Daten
• Webapplikationen sind sehr dynamisch
• Viele Benutzer generieren Daten
• Anzeige der Daten soll möglichst aktuell sein
• HTTP als Protokoll sieht vor allem unidirektionale
Kommunikation vor
28. Aktualisierung der Daten
• Bidirektionale Kommunikation
• Verschiedene Lösungen: Long Polling,
Websockets, etc.
• Strategien zur Aktualisierung: Request for Reload,
Nutzdaten übermitteln
• Sichere Verbindung über https und wss
30. Releases
• Die Zeiten von Releasezyklen von einem Jahr und
mehr sind vorbei
• Neue Features/Bugfixes müssen schnell auf den
Markt
• Viele Unternehmen releasen täglich oder
wöchentlich
• Ein Fehler beim Kunden, der innerhalb von 5
Minuten behoben ist, ist OK
34. Performance
• Benutzer warten nicht gerne
• Wenn Benutzer warten müssen, muss man ihnen
das sagen
• Graceful degrade - es fällt nur das weg, was nicht
geht
• Keine weißen Seiten, niemals!
35. Performance
• Profiling - wo geht die Performance verloren
• Priorisierte Performanceverbesserungen - die
Cheap Wins zuerst
• Rückmeldungen wie Loading Indicators
• Performance ist Responsibilität - Hardware ist billig
37. Erweiterbarkeit
• In den seltensten Fällen ist eine Webapplikation
wirklich fertig
• Neue Features müssen integriert werden
• Erweiterung muss kostengünstig erfolgen
41. Rewrite
• Lebenserwartung einer durchschnittlichen
Webapplikation: ca. 5 Jahre
• Lebenserwartung von Frameworkversionen: 2 Jahre
• Ab einem bestimmten Zeitpunkt wird der Betrieb
einer Software teuer
• Rewrite oder doch lieber Modernisierung
• 96% aller Rewrite-Projekte laufen aus Time & Budget
42. Rewrite
• Kompletter Rewrite mit hohem Risiko
• Modulweiser Rewrite und Parallelbetrieb
• Kontinuierliche Modernisierung von Anfang an