Menu Search

Fluch und Segen – moderne Frameworks für Web-Anwendungen


Bei allen Problemen (und kleinen Gemeinheiten), die moderne Web-Browser immer noch mit sich bringen, deutet immer mehr darauf hin, dass sich der Browser zum universellen Front-End für das Internet der Dinge entwickelt

Ohne Frameworks sind die Anforderungen an Aufwand (so wenig wie möglich), Entwicklungszeiten (so kurz wie möglich), Leistungsfähigkeit (so cool und gleichzeitig performant wie irgend möglich) und Sicherheit (absolut sicher…!?) nicht zu erfüllen.

Hier fängt die Qual (der Fluch), jedoch schon an. Begibt man sich auf die Suche nach DEM geeignetsten Framework hat man schon verloren. (Es sei denn man ist bereit, Ausführungen von Community-Blogs oder -Foren zu folgen, welche bei manchen Frameworks schon religionsähnlichen Charakter haben). Fazit ein Framework alleine wird in den wenigsten Fällen ausreichen.

Nächstes Problem ist die Kompatibilität. Bei aller Dynamik sind Anwendungen im Internet der Dinge in der Regel keine “Wegwerfprodukte”. Sie müssen Jahre verfügbar und anpassbar sein. Hier teilt sich die Framework-Welt aktuell. Es gibt ein paar wenige Frameworks – leider meist kostenpflichtig – welche einigermaßen in der Lage sind, abwärtskompatible Releases zu gewährleisten. Ansonsten läuft man immer Gefahr – je größer die Anwendung, desto größer das Problem – Releasewechsel nur mit erheblichem Aufwand durchführen zu können, da die Releases (vor allem Major-Releases) von Frameworks oft nur bedingt abwärtskompatibel sind. Auch extreme Brüche sind dabei nicht ausgeschlossen (siehe Release 3.x.x und 4.x.x bei ExtJs).

Als ob das noch nicht genug wäre, ist die Dynamik der Browser Entwicklung das nächste Problem. Während Google die Entwicklung des Browsers zum universellen Front-End stark pusht, sind die anderen Schlüsselspieler in der Browser Welt nicht ganz so dynamisch unterwegs – Safari (Apple) und IE (Microsoft) bremsen hier eher (Safari) oder verfolgen eigene Wege (IE). Zudem unterscheiden sich die Desktop und Mobil-Varianten der Browser noch erheblich.

Im Klartext bedeutet dies, dass jedes Feature – auch wenn vom Framework unterstützt – geprüft werden muss inwieweit von allen Browsern unterstützt (z. B. WebSQL und IndexedDB) bzw. vom Framework für alle Browser unterstützt und ggf. mit Fallback-Lösungen angeboten.

Wenn jetzt noch die Anforderung hinzu kommt, auf der gleichen Basis Lösungen für mobile und stationäre Endgeräte (Desktops) mit den damit verbundenen teils völlig unterschiedlichen Anforderungen anbieten zu können, wird die Luft bezüglich geeigneter Frameworks schon sehr dünn.

Was bleibt sind Frameworks wie AngularJs, obwohl unbestritten leistungsfähig im Umfeld von Business WebApps immer noch eher schwach, Sencha (ExtJs, SenchaTouch), leider inzwischen ziemlich teuer (> 5.000 EUR / Jahr Lizenzkosten), AppCelerator, Schwerpunkt sind mobile Anwendungen oder ein individuelles “Framework”, bestehend aus mehreren Frameworks, klassisches Beispiel ist jQuery an dem man nach wie vor nicht vorbei kommt.

Fazit

Allein der Entwicklungssprung den Web-Anwendungen in den letzten drei Jahren gemacht haben ist bemerkenswert (eigene Erfahrung). Bei Business Web-Anwendungen bietet der Browser, unterstützt vom (oder von den) richtigen Framework(s) Möglichkeiten, die kein anderes Front in der Summe erreicht.

Man darf jedoch, das Risiko nicht aus den Augen verlieren, welches neue Framework-Versionen und noch viel mehr, neue Browser-Versionen mit sich bringen. Ähnlich wie bei vielen komplexen Produkten ist man gut beraten, den Stand der Technik zwar immer im Auge zu behalten, den Wechsel auf neue Funktionen und Features aber erst dann zu vollziehen, wenn sie sich etabliert haben und stabil sind.

Keine Kommentare bisher...

Leave a Reply