Interview: Programmieren mit AJAX und der Einsatz von Frameworks

11.01.2011

In der letzten Ausgabe des slashUp Magazins ist ein Interview mit unserem Software Architecten Nicky Graßmann zum Thema „Ajax“ erschienen.
Hier finden Sie nun die ausführlichere Beschreibung, sowie eine Betrachtung und Differenzierung von verschiedenen Frameworks im Bereich der Rich Client Application Programmierung.

Kurz zur Person:
Nicky Graßmann ist seit ein paar Jahren für doubleSlash als Software Architect tätig. Sein Studium der Medieninformatik an der HS Furtwangen schloss er erfolgreich ab. Er beschäftigt sich in seiner Arbeit ausführlich mit modernsten Web-Anwendungen. Deshalb möchten wir von ihm gerne mehr zum Thema AJAX erfahren.

1.) Was macht der Einsatz von AJAX in ihrem Projektumfeld möglich?
Der Trend von Desktopapplikationen hin zu webbasierten Anwendungen ist ungebrochen. Angestoßen wurde diese Entwicklung schon im Jahre 2005 mit der Prägung des Begriffs AJAX durch Jesse James Garrett. Wir setzten schon früh auf die Vorteile von AJAX und konnten dadurch Anwendungen entwickeln, welche weit größere Datenmengen verwalten als bislang möglich war. Für den Benutzer konnte dennoch eine gute Geschwindigkeit erzielt werden.

2.) Wo sehen Sie den größten Mehrwert bei der Programmierung mit AJAX?
Ein Anwender erwartet heutzutage, dass sich Web-Anwendungen wie Desktop-Anwendungen verhalten. Nicht nur die Funktionalität, vor allem auch die Geschwindigkeit stellen hierbei die zentralen Erfolgsfaktoren dar. Der Browser war ursprünglich nie als Oberfläche für Applikationen gedacht, sondern nur zum Betrachten statischer und teilweise dynamischer Webseiten.

AJAX hat hierbei insofern eine Verbesserung mit sich gebracht, als dass der Browser nur noch solche Daten verarbeiten muss, die aktuell für den Benutzer auch sichtbar sind. Wenn benötigte Daten bei Bedarf schrittweise nachgeladen werden können, verbessert sich die wahrgenommene Performance einer Anwendung deutlich. Und das beste dabei: für den Entwickler ergeben sich keine nennenswerten Mehraufwände gegenüber dem traditionellen Request-Response-Modell früherer Anwendungen.

Zur Zeit ist zu beobachten, dass die Browserhersteller die Wichtigkeit von JavaScript / AJAX und angrenzenden Technologien erkannt haben und spezielle Optimierungen in diesem Bereich durchführen. Vor allem vor dem Hintergrund des HTML 5 Standards werden die Möglichkeiten für Web-Anwendungen deutlich erweitert. Wir können also erwarten, dass die Geschwindigkeit webbasierter Anwendungen in Zukunft noch deutlich steigen wird und die Grenzen zur Desktop-Applikation immer mehr verschwimmen.

3.) Wie schätzen Sie den Einsatz von Frameworks wie Ext-JS oder ZK bei der Programmierung ein?
Der Markt an umfangreichen Frameworks für die Anwendungsentwicklung befindet sich schon seit längerem in einem kontinuierlichen Wachtumsprozess. Bestehende Frameworks werden laufend erweitert und verbessert.

Umso wichtiger dabei ist, dass nicht jeder Trend ungeprüft verfolgt wird. Bei der Entscheidung für ein Framework wie beispielsweise ZK muss daher gründlich untersucht werden, welche Vorteile für das Projekt durch den Einsatz entstehen. Sicherlich möchte und kann heutzutage niemand mehr in jedem Projekt das Rad neu erfinden und grundlegende Funktionalitäten nachprogrammieren. Man muss sich jedoch auch immer bewusst sein, dass jedes Framework auch ein eigenes Programmiermodell mit sich bringt, welches zunächst erlernt werden muss.

Inzwischen haben sich drei Hauptgruppen von Frameworks etabliert: die erste Gruppe basiert primär auf JavaScript, HTML, ggfs. speziellen Tags und unterstützt den Entwickler durch Funktionsbibliotheken. Eine Anwendung wird mit bekannten Technologien entwickelt und nur um einzelne Features angereichert. Die zweite Gruppe beinhaltet größere Frameworks wie beispielsweise ExtJS und stellt einen umfangreichen Rahmen dar, um komplette Anwendungen zu entwickeln. Auch hier kommt primär JavaScript zum Einsatz. Als dritte Gruppe lassen sich serverseitige Frameworks identifizieren, welche auf einer Serversprache wie z.B. Java basieren. In diese Gruppe fallen ZK oder das Google Web Toolkit. Die Wahl eines Frameworks sollte sich also auch immer danach richten, welches Expertenwissen im Projektteam vorhanden ist und wie viel Einfluss auf die bereitgestellten Funktionen und Komponenten genommen werden muss.

Aus unserer Erfahrung heraus hat sich insbesondere ZK als stabile Basis für die Entwicklung auch komplexerer Anwendungen herausgestellt. Es bietet eine Vielzahl an vorgefertigten Komponenten, welche inzwischen einen hohen Reifegrad erreicht haben. Dabei bleiben dem Entwickler immer noch genügend Freiräume, um spezielle Anforderungen an eine Anwendung umzusetzen.

Zusammenfassend lässt sich also sagen, dass der Einsatz eines Frameworks immer von verschiedenen Projektfaktoren abhängt und nicht pauschal die beste Lösung ist. Bei richtiger Auswahl lassen sich aber Anwendungen entwickeln, die ohne den Einsatz gar nicht oder nur sehr aufwändig möglich gewesen wären.

4.) Wie schätzen Sie die Zukunft von AJAX ein?
Die Nutzung von AJAX in Web-Anwendungen wird sicherlich auch in der nächsten Zeit zu beobachten sein. Der Markt entwickelt sich aber stetig weiter und es stehen bereits weitere spannende Technologien in den Startlöchern, welche die Nachteile von AJAX kompensieren sollen.

Es ist mit AJAX beispielsweise noch immer notwendig, dass der Browser selbst Daten vom Server anfragt. Eine Anzeige von Börsenkursen o.ä. kann damit immer nur in regelmäßigen zeitlichen Abständen aktualisiert werden, aber ist nie live. Mit WebSockets und Server-Sent Events befinden sich Technologien in der Entstehung, welche es auch einem Server ermöglichen, Daten aktiv an einen Browser zu senden. Wir evaluieren solche Technologien bereits im Hinblick auf den konkreten Nutzen in Projekten.

Wir danken Nicky Graßmann für das ausführliche Gespräch.

Zurück zur Übersicht

Ein Kommentar zur “Interview: Programmieren mit AJAX und der Einsatz von Frameworks

  1. Tolles Interview, dem ich in allen Punkten zustimmen kann.

    In AJAX-basierten Webanwendungen liegt die Zukunft des Internets. Bei mir war es vor allem die Verwendung von jQuery, die AJAX-Bestandteile in wirklich jedem Webprojekt innerhalb weniger Sekunden ermöglichen.

    Schönen Sonntag noch und beste Grüße,
    Torben Leuschner

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*