„Remote Scripting“-Anwendungen erleben seit einigen Jahren einen regelrechten Anfrageboom. Während aus usability-Sicht bisher eine strikte Unterscheidung zwischen Desktop-Anwendungen und Webapplikationen herrschte, finden sich seit einiger Zeit zunehmend Angebote im WWW, die diese strikte Trennung verwischen lassen. Interaktive Nutzerdialoge, nebenläufige Prozessabarbeitung und visuelle Unterstützungsmittel wie Drag & Drop- Effekte halten auf Webseiten Einzug, die dem Nutzer bisher nur aus eigenständigen Softwareprodukten in einer spezifischen Betriebssystemumgebung bekannt waren. Viele dieser neuen Anwendungs- und Interaktionsmöglichkeiten im weltweiten Datennetz werden inzwischen unter dem Oberbegriff Web 2.0 zusammengefasst. Für den Nutzer bringt dieser neue Entwicklungstrend viele Vorteile: Ansprechende, intuitive Nutzerführungen ohne die Notwendigkeit, eine ganze Internetseite bei jedem Interaktionsschritt neu zu laden und ohne bemerkbaren zeitlichen Overhead.
Was für den Nutzer Erleichterung bringen soll, bedeutet häufig für einen Programmierer zunächst Mehraufwand. Eine Technik zur Realisierung solcher so genannten Rich Internet Applications, die sich in den letzten beiden Jahren immer mehr in den Vordergrund gedrängt hat, wird unter der Bezeichnung AJAX zusammengefasst. Einen einheitlichen Standard gibt es nicht, sodass fast täglich neue AJAX-basierte frameworks veröffentlicht werden, die dem Programmierer etwas Komplexität in der Programmflusssteuerung abnehmen sollen. Aufgabe der Studienarbeit soll es daher sein, das inzwischen unüberschaubar gewordene Angebot an AJAX frameworks zu systematisieren und einen Überblick über Vor- und Nachteile ausgewählter Programmbibliotheken zu geben. Dafür ist ein Kriterienkatalog zu erarbeiten, der eine Bewertung der verschiedenen frameworks nach unterschiedlichen Gesichtspunkten ermöglicht. Besonderer Schwerpunkt ist dabei auf Kriterien aus Programmierersicht (Sprachunabhängigkeit, Overhead, Implementierungsmöglichkeiten,…) und Anwendersicht (Plattformanforderungen, Einarbeitungszeit, Ergebnisqualität, …) zu legen. Auf den Kriterienkatalog ist anschließend eine Auswahl an bereits existierenden, frei verfügbaren AJAX frameworks anzuwenden, die als zukünftig relevant eingeschätzt werden. Die Ergebnisse sind abschließend in einer Gesamtübersicht zu präsentieren, die eine objektive Empfehlung für Nutzer darstellen soll, die vor der Wahl stehen, welche AJAX Programmbibliothek sie zukünftig einsetzen sollten.
Inhaltsverzeichnis
1. EINLEITUNG
1.1. AJAX – eine kurze Einführung
1.2. Zielsetzung der Arbeit
1.3. Aktueller Stand
2. GRUNDLEGENDE BETRACHTUNGEN
2.1. Geschichtlicher Ursprung von AJAX
2.2. Begriffsklärung
2.2.1. MVC
2.2.2. Remote Scripting
2.2.3. RIA
2.2.4. Widget
2.2.5. Wrapper
2.2.6. Stub
2.3. Definition der Anwendungsdomäne
2.3.1. Web Remoting
2.3.2. DOM-Manipulation
2.3.3. Widgets
2.3.4. Visuelle Effekte
2.3.5. Browseranwendungen
2.4. Beispiel-Szenarien
2.4.1. „Hello World“ example
2.4.2. Adresskartei
2.4.3. AJAX-Bildergalerie
2.5. Was ist AJAX?
3. AJAX FRAMEWORKS
3.1. Der Begriff „framework“
3.2. Abgrenzung zu Funktionsbibliotheken
3.3. Anforderungen an ein framework
3.4. Klassifikation
3.5. Überblick
4. BESCHREIBUNG DER EVALUIERUNG
4.1. Allgemeiner Überblick
4.2. Testauswahl
4.3. Beschreibung der Durchführung
4.4. Testumgebung
4.5. Kriterien
4.6. Bewertungsmaßstab
5. DURCHFÜHRUNG DER EVALUIERUNG
5.1. Clientframeworks
5.1.1. Javascript-basierte Bibliotheken (Basisframeworks)
5.1.1.1. ACE
5.1.1.2. AjaxToolbox
5.1.1.3. Bajax
5.1.1.4. HTMLHttpRequest
5.1.1.5. Lokris
5.1.1.6. MAJAX
5.1.1.7. Prototype
5.1.2. Javascript-basierte Effektbibliotheken (Applicationframeworks)
5.1.2.1. Adobe Spry
5.1.2.2. DOJO
5.1.2.3. jQuery
5.1.2.4. MochiKit
5.1.2.5. Mootools
5.1.2.6. Yahoo User Interface library
5.1.3. Basis- und Applikationsframeworks erweiternde frameworks
5.1.3.1. Freja
5.1.3.2. OpenRico
5.1.3.3. Script.aculo.us
5.2. Serverframeworks
5.2.1. PHP
5.2.1.1. AJAXAgent
5.2.1.2. Flexible AJAX
5.2.1.3. My-BIC
5.2.1.4. Sajax
5.2.1.5. tinyAjax
5.2.1.6. XAJAX
5.2.2. Perl
5.2.2.1. Catalyst
5.2.2.2. CGI::AJAX
5.2.3. Python
5.2.3.1. CherryPy
5.2.3.2. Nevow
5.2.4. Java
5.2.4.1. DWR
5.2.4.2. Google Web Toolkit
5.2.4.3. JSON-RPC-Java
5.2.5. DotNet
5.2.5.1. AJAX.NET
5.2.5.2. Anthem.Net
5.2.5.3. ASP.NET AJAX (Codename 'Atlas')
5.2.5.4. ComfortASP.NET
5.2.5.5. Visual WebGUI
6. RESULTATE
6.1. Übersicht
6.2. Fehlerbetrachtung
6.3. Testergebnisse
6.4. Bewertung der frameworks
6.4.1. Basisframeworks
6.4.2. Applicationframeworks
6.4.3. Basis- oder Applicationframeworks erweiternde Frameworks
6.4.4. Serverframeworks PHP
6.4.5. Serverframeworks Perl
6.4.6. Serverframeworks Python
6.4.7. Serverframeworks Java
6.4.8. Serverframeworks DotNet
6.5. Diskussion
7. AUSBLICK
7.1. Frameworkentwicklungen
7.2. Die Zukunft von AJAX
Zielsetzung & Themen
Ziel der Arbeit ist es, die Vielzahl existierender AJAX-Frameworks zu systematisieren, einen Kriterienkatalog für deren Bewertung zu erstellen und eine objektive Empfehlung für Nutzer zur Auswahl geeigneter Programmierbibliotheken zu geben.
- Systematisierung der AJAX-Frameworks nach Anwendungsbereichen
- Evaluierung hinsichtlich technischer Kriterien wie Sprachunterstützung und Performance
- Analyse aus Programmierer- und Anwendersicht
- Vergleich von clientseitigen und serverseitigen Framework-Ansätzen
- Empfehlungen für den Einsatz in Web-2.0-Applikationen
Auszug aus dem Buch
2.1. Geschichtlicher Ursprung von AJAX
Im Folgenden soll kurz diskutiert werden, was die Ursprünge von AJAX sind und warum sich dieser Ansatz erst in den letzten Jahren durchsetzen konnte. Die aktuelle Diskussion um das Thema AJAX ist dabei der vorläufige Höhepunkt einer Entwicklung, deren Wurzeln bis in die Achtziger Jahre zurückreichen. Zu dieser Zeit bestand das Hauptinteresse darin, in einer zweistufigen (two-tier-, Client-Server-) Architektur verschiedenste Daten mehreren Nutzern gleichzeitig zur Verfügung zu stellen. Während die gesamte Darstellungslogik in einzelnen Komponenten einer Software rein auf Clientseite implementiert wurde, wurden die Daten selbst von einem Server bereitgestellt.
Diese strikte Trennung veränderte sich ab dem Zeitpunkt, wo HTTP und HTML es jedermann ermöglichten, Informationen im Internet zu suchen und auf eigenen Internetseiten zu veröffentlichen. Diese Informationen waren zu Beginn meist nur statische Inhalte, die von einem Server als elektronischer Text bereitgestellt und auf eine Anfrage hin zu einem Client geschickt wurden, welcher diese Informationen schließlich in einem Internetbrowser darstellte. Einer der ersten Internetbrowser dieser Zeit war unter anderem der im Februar 1992 an der University of Illinois / Urbana Champaign (USA) entwickelte Mosaic Browser, dem weitere Entwicklungsprodukte wie beispielsweise 1994 in den USA der Netscape Navigator, in Norwegen der Opera Browser, oder 1995 der Internet Explorer folgten. Auch wenn es zu Beginn reichte, von einem Server statische Informationen ausliefern zu lassen welche von Clients angefordert wurden, stiegen allmählich die Erwartungen der Internetnutzer. Das Internet war nicht mehr nur ein Netz zum wissenschaftlichen Austausch, sondern stellte inzwischen auch immer mehr private und kommerzielle Angebote zur Verfügung. Die Nutzer verglichen zunehmend die Möglichkeiten, die ihnen das reine Hypertext-Konzept von HTML anbot mit den Möglichkeiten von Desktopanwendungen, und als Konsequenz wurde schnell nach Erweiterungen und Alternativen gesucht, Internetinhalte in einem ersten Schritt dynamisch verändern und in einem weiteren Schritt grafisch ansprechender aufbereiten zu können.
Zusammenfassung der Kapitel
1. EINLEITUNG: Einführung in die AJAX-Thematik, Abgrenzung zum Web 2.0 und Definition der Zielsetzung dieser Arbeit.
2. GRUNDLEGENDE BETRACHTUNGEN: Historischer Überblick über die Entwicklung webbasierter Technologien und Definition zentraler AJAX-Begriffe sowie Anwendungsszenarien.
3. AJAX FRAMEWORKS: Theoretische Abgrenzung von Frameworks zu Funktionsbibliotheken und Festlegung von Bewertungskriterien sowie Klassifikationsmodellen.
4. BESCHREIBUNG DER EVALUIERUNG: Festlegung des Kriterienkatalogs und der Testmethodik für die praktische Untersuchung der Frameworks.
5. DURCHFÜHRUNG DER EVALUIERUNG: Detaillierte Analyse und experimentelle Untersuchung zahlreicher client- und serverseitiger AJAX-Frameworks anhand definierter Testskripte.
6. RESULTATE: Auswertung der Testergebnisse, Zusammenfassung der Framework-Bewertungen und Diskussion der gewonnenen Erkenntnisse.
7. AUSBLICK: Einschätzung zukünftiger Entwicklungen im Bereich AJAX-Frameworks und Ausblick auf technologische Trends.
Schlüsselwörter
AJAX, Web 2.0, Frameworks, JavaScript, XMLHttpRequest, Rich Internet Applications, RIA, Serverframeworks, Clientframeworks, DOM-Manipulation, Asynchronität, Evaluierung, Softwareentwicklung, Webanwendungen.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit?
Die Arbeit befasst sich mit der Evaluierung von AJAX-basierten Frameworks, die zur Entwicklung von modernen Webanwendungen (Rich Internet Applications) im Kontext des Web 2.0 eingesetzt werden.
Was sind die zentralen Themenfelder?
Zentrale Themen sind die Systematisierung des Framework-Marktes, die technische Bewertung hinsichtlich Kriterien wie Sprachunterstützung, Einarbeitungszeit und Performance sowie der Vergleich verschiedener Implementierungsansätze.
Was ist das primäre Ziel der Forschungsarbeit?
Das Ziel ist es, Entwicklern einen Überblick über die unübersichtliche Framework-Landschaft zu geben und objektive Entscheidungshilfen für die Auswahl geeigneter Bibliotheken für spezifische Anwendungsszenarien zu liefern.
Welche wissenschaftliche Methode wird verwendet?
Der Autor führt eine systematische Literaturrecherche durch und nutzt einen experimentellen Evaluierungsansatz, bei dem verschiedene Frameworks anhand identischer Anwendungsszenarien (Testskripte) geprüft und nach einem standardisierten Kriterienkatalog bewertet werden.
Was wird im Hauptteil behandelt?
Im Hauptteil werden sowohl theoretische Grundlagen und Begriffe definiert als auch die Ergebnisse der praktischen Evaluierung zahlreicher Client- und Server-Frameworks für Sprachen wie PHP, Perl, Java und .NET präsentiert.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind AJAX, Web 2.0, Rich Internet Applications, Frameworks, JavaScript, Performance-Evaluierung und Software-Architektur.
Welche Bedeutung hat das "Web 2.0" für die Studie?
Das Web 2.0 definiert den Kontext der Arbeit, da es durch interaktive Benutzeroberflächen und eine desktopähnliche Benutzererfahrung im Browser den Bedarf an AJAX-Frameworks massiv gesteigert hat.
Wie unterscheidet der Autor zwischen Frameworks und Bibliotheken?
Ein Framework bietet laut Arbeit eine Rahmenstruktur mit kontrolliertem Ablauf, während eine Bibliothek lediglich eine Sammlung von allgemein gültigen Funktionen darstellt, die vom Entwickler eigenständig aufgerufen werden können.
Welches Fazit zieht der Autor zur zukünftigen Entwicklung?
Der Autor schätzt, dass sich der Markt konsolidieren wird, wobei Frameworks großer Unternehmen an Bedeutung gewinnen und Standardisierungsinitiativen wie die OpenAJAX Alliance die Interoperabilität verbessern werden.
- Quote paper
- André Langer (Author), 2007, Evaluierung von AJAX-basierten Frameworks für das Web 2.0, Munich, GRIN Verlag, https://www.grin.com/document/74060