TFH

Vortrag zur Mündlichen Abschlussprüfung

Thema
Evaluierung von Frameworks zur Herstellung von Rich Internet Applications

Studiengang
Medieninformatik Master

Fachbereich VI – Informatik und Medien

Betreuer: Christoph Stratmann
Gutachter: Prof. Dr. Henrik Tramberend

Rich Internet Application

  • Anwendungsplattform ist das World Wide Web
  • RIA als Ergebnis der Konvergenz von modernen Desktop-GUIs mit einem leistungsfähigen Benutzerinteraktionsmodell und den Vorzügen von Webanwendungen
  • konzipiert auf komplexe Benutzeraktionen
  • sind in der Regel nicht linear
  • basieren mehr auf Ereignisse und Events
  • Client wird stärker beansprucht
  • Interaktion mit dem Benutzer

Client-Server-Architekturen

Client-Server-Architekturen

Laufzeitumgebung Webbrowser Browser dient als universelle Benutzerschnittstelle

Browsertechniken

Geschäftslogik auf der Clientseite mittels browserintegrierter Techniken sowie per Plug-Ins

Browserinterne Techniken erreichen den größtmöglichen Marktanteil: JavaScript-Frameworks

Erstellung einer RIA auf Basis der browserinternen Techniken beruht auf:
  • JavaScript + Ajax (Anwendungslogik, Event-Behandlung)
  • XHTML (Strukturierung des Dokuments)
  • Cascading Stylesheets (CSS) (Formatierung)
  • DOM (Schnittstelle zur Struktur des Dokuments)

Die verstärkte Auslagerung von Anwendungslogik auf die Clientseite ließ eine Reihe verschiedener JavaScript-Frameworks entstehen.
  • Verschiedene Browser implementieren JavaScript zum Teil anders
  • JavaScript-Frameworks bieten eine strukturierte Schnittstelle für häufig benötige Aufgaben
  • vereinfachen und vereinheitlichen den Einsatz von JavaScript
  • Quellcode: Qualität steigt und Umfang sinkt
  • Erweiterte Interaktion durch Frameworks (z.B. Slider, Color-Picker)
  • Frameworks sind meist Open Source Software

Beliebte JavaScript-Frameworks: jQuery, Prototype, Yahoo! UI (YUI), Mootools und Dojo

Anforderungen:
  • Funktionsumfang - Kerntechniken für die RIA-Entwicklung
    • DOM (API zur Manipulation der Webseitenelemente)
    • Events (Ereignisbehandlung)
    • Ajax (asynchrone Datenübertragung)
    • Animationen (optische Features)
    • Vorgefertigte User Interface Widgets (Datumswahl, Tabs, Dialog und Slider)
  • Performance - Leistung einer Anwendung
    • Bearbeitungsgeschwindigkeit (Methode zur Zeitmessung)
    • Belastung des Clients (Ressourcenbedarf)
Ergebnis alle:
  • Kombination aus Funktionsumfang, Ausführungsgeschwindigkeit und Ressourcenbedarf
  • Alle fünf Vertreter bieten eine entwicklerfreundliche Abstraktion von JavaScript
  • Einheitliche Methoden zur Verfügung für DOM, Events, Ajax und Animationen

Ergebnis einzeln:
  • jQuery, Mootools und Prototype eher für Anwendungen, wo Clientcode selbst erstellt wird
  • Dojo und YUI bieten dagegen eine Art Werkzeugkiste mit fertigen Elementen
  • Dojo und YUI sind modular aufgebaut und laden benötigte Packages zur Laufzeit nach
  • Dojo und YUI bieten viele vorgefertigte Widgets, bei den anderen eher als Plug-In von Drittanbietern
  • API-Dokumentation ist bei jQuery und Mootools am besten gelungen

Quellcode dieses Vortrags: [Strg+U]

Skripts aus der Masterarbeit: periscope.de/master

Beispiel: Pixastic - Online JavaScript Photo Editor