Frameworks für die schöne neue Welt?

Elemente der HTML5-Spezifikation in Verbindung mit CSS und Javascript gewinnen zunehmend an Bedeutung in der Webentwicklung. Aber womit entwickelt es sich denn am besten?

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Kai König

Viele Leute sprechen im Moment über HTML5-Frameworks und meinen damit oftmals eher JavaScript- oder Hybrid-Frameworks wie jQuery, Sencha/ExtJS oder AngularJS. Was ist denn so schlecht an einfachem JavaScript ohne jegliches Framework? Die Antwort ist: nichts. Erst mal. Bis der geneigte Entwickler an einen Punkt kommt, an dem einfaches (und leider oftmals unstrukturiertes) JavaScript nicht mehr ausreicht, da die Anwendung zu komplex ist oder sich der Arbeitgeber vielleicht höhere Produktivität wünscht. Außerdem sind Frameworks schließlich cool.

Der im Moment populärste Vertreter der JavaScript-Frameworks ist offensichtlich jQuery. Die Vorzüge liegen ganz klar auf der Hand: verständliche Abfrage- und Modifikationssprache für das DOM, CSS-Manipulation, viele Effekte und die Möglichkeit, Animationen einzubetten. AJAX-Unterstützung darf dabei auch nicht fehlen.

Zum "Skripten" einer HTML(5)-Seite ist das auch alles klasse. Sprechen wir aber von Anwendungsentwicklung einer wirklich großen Anwendung mit zig Screens, lokalem Client-Datenmodell und vielem anderem mehr, erinnern jQuery-"Anwendungen" nach ein paar Wochen eher an .fla-Dateien aus der Zeit von Flash  4, denen mit ActionScript 1 mal so eben ein wenig Interaktivität hinzugebastelt wurde.

Bevor mir unterstellt wird, dass ich ein JavaScript-Hasser sei – dem ist überhaupt nicht so. Nur ... wer Anwendungsentwicklung mit Sprachen wie Java, AS3, C# oder Objective-C ernsthaft betrieben hat, der wird erkennen, dass JavaScript als Programmiersprache für eine DOM-Umgebung einfach noch bei weitem nicht an die vorgenannten Plattformen herankommt. Was fehlen denn JS/jQuery im Speziellen?

  • UI-Komponenten, diese sind allerdings ein vergleichsweise einfach lösbares Problem, da sowohl jQuery UI als auch jQuery-Plug-ins verschiedener Anbieter und Open-Source-Projekte einiges beitragen,
  • Struktur – bessere Unterstützung einer clientseitigen und MVC-Mikroarchitektur, und
  • Entwicklungsumgebungen.

Zum Thema Struktur hat die Framework-Welt natürlich einiges zu bieten. Meine persönlichen Favoriten sind Backbone.js und AngularJS. Ersteres ist sehr leichtgewichtig und lässt sich meiner Ansicht nach gut mit jQuery integrieren. AngularJS ist eines der besten HTML5/JS-Hybrid-Frameworks für Entwickler mit einem Background in .NET/Silverlight sowie Flash/Flex. Sein treffender Untertitel ist: "What HTML would have been had it been designed for web apps". Auch Angular lässt sich relativ problemlos mit jQuery kombinieren, beide Frameworks bedienen Anwendungsentwickler als Zielgruppe und werden nicht unbedingt zur Erstellung einer Webseite mit einer oder mehreren jQuery-Animationen benötigt.

JavaScript ist zweifellos wieder "hip" – nicht zuletzt durch den Erfolg der Webstandards-Techniken auf Mobilgeräten. Auch in dieser Welt gibt es Frameworks die einem das Leben leichter machen: jQuery Mobile, jQTouch und Sencha Touch sind hier die Marktführer. jQuery Mobile und Sencha Touch scheinen im Moment die beste Unterstützung für möglichst viele verschiedene Betriebssysteme und Geräte zu bieten – die Aktivität im jQTouch-Projekt stagniert zur Zeit eher. ()