Wie aber zu erwarten war: Eine eindeutige Antwort darauf gibt es nicht. Der Vortragende gab aber ein klares Statement ab, welches Framework NICHT zu benutzen ist:
"Don't use Struts!"
Das Problem ist aber nicht das einzelne Framework ansich: Es ist die Vielzahl an unterschiedlichsten Web-Frameworks, die eine fundierte Entscheidung zugunsten einer Lösung so schwer macht.
Konsequenz: Es ist ein Leitfaden notwendig, welcher zum einen das Vorgehen und zum anderen die Kriterien zur Auswahl eines Frameworks definieren.
Das vorgeschlagene Vorgehen sollte dabei wie folgt aussehen:
- Führe eine grobe Vorauswahl von zu untersuchenden Frameworks durch (Bauchentscheidung)
- Erzeuge auf Basis einer definierten Fachlichkeit je Framework einen Prototypen
- Dokumentiere die Ergebnisse gemäß Kriterienkatalog (s. u.)
- Präsentiere die Ergebnisse (anderen Entwicklern, Stakeholdern)
- Stelle Dokumentation und Präsentation (anderen Entwicklern, Stakeholdern) zur Verfügung und spreche eine Empfehlung aus
- Entwickler-Produktivität
- Entwickler-Wahrnehmung
- Lernkurve
- "Project health"
- Verfügbarkeit von Entwicklern für die jeweilige Technologie
- Job Trends (!)
- Templating
- Komponenten-Struktur
- Ajax-Support
- Plugins / Addons
- Skalierbarkeit
- Testing Support
- i18n, l10n
- Validation support (Client und Server!)
- Multi-language support (im Sinne von zusätzlich einsetzbaren (Skript-)Sprachen)
- Qualität der Dokumentation und der Tutorials
- Verfügbare Bücher
- REST Support (Client und Server!)
- Mobile Support
- Grad des Risikos für einen Einsatz beim Kunden
- Handelt es sich um eine kunden-zentrierte Anwendung?
- Muss die Anwendung Desktop-like Funktionalität bieten?
- Handelt es sich um Multimedia-Anwendungen?
- Handelt es sich um eine Internet-Anwendung mit hohen Zugriffs- und Benutzerzahlen? Wähle ein Request-basiertes Framework.
- Handelt es sich um eine Internet-Anwendung hinter einer Firewall mit geringen Zugriffszahlen? Wähle ein Komponenten-basiertes Framework.
- Handelt es sich um eine Web-Anwendung mit langer Lebensdauer (5-10 Jahre)? Wähle ein Framework mit großer Community und großem Hersteller-Support.
- GWT
- Vorteile: Java-basiert, Javascript wird automatisch optimiert, einfach zu lernen, große Community
- Nachteile: Langsames Kompilieren, schwer zu testen
- Grails
- Vorteile: Von Java-Entwicklern leicht zu lernen, Groovy als Basis, viele Plugins
- Nachteile: Grauenvolle Stacktraces, Zugrundeliegendes Framework zu sehr weggekapselt
- Wicket
- Vorteile: Klasse für Java-Developer, gutes Binding zwischen Seiten und Views, Aktive Community
- Nachteile: Stateful by default, Keine saubere Trennung zwischen HTML-Templates und Java-Code
Keine Kommentare:
Kommentar veröffentlichen