Internet-Anwendungen haben seit Beginn des Web einen enormen Wandel durchlaufen, von einzelnen Dokumenten und statischen Websites über dynamische Webanwendungen bis hin zu Desktop ähnlichen Anwendungen. Im Zuge dessen sind die Anforderungen, die an aktuelle Internet Anwendungen gestellt werden, stetig gestiegen. In diesem Kontext hat sich der Begriff Rich Internet Applications (RIA) etabliert und steht für Web-Anwendungen, die in ihrem Look-And-Feel Desktop-Anwendungen immer ähnlicher werden.
Der etablierte Standard zur Entwicklung von RIAs, sind Ajax Frameworks, welche auf HTML/JavaScript und CSS basieren. Mit der Veröffentlichung von JavaFX in der Version 2 bzw. Version 8 (JDK 8) hat Oracle eine interessante Alternative zum klassischen Ansatz auf den Markt gebracht. Diese soll es ermöglichen, Anwendungen zu entwickeln, die den heutigen Anforderungen gerecht werden.
Das Ziel der vorliegenden Arbeit ist es, Alternativen beim Erstellen von Rich Internet Applications aufzuzeigen. Neben AngularJS als Vertreter für die klassischen Ajax-basierten Frameworks wird JavaFX als alternativer Ansatz vorgestellt. Darüber hinaus werden die Frameworks anhand von verschiedenen Kriterien bewertet, um schließlich ein Fazit über die Verwendung ziehen zu können.
Inhaltsverzeichnis
1. Einleitung
1.1 Motivation
1.2 Ziel der Arbeit
2. Grundlagen
2.1 Classic Internet Application
2.2 Rich Internet Application
2.3 Ajax-basierte RIA
2.4 Client-basierte RIA
3. Alternativen
3.1 Frameworks
3.1.1 JavaFX
3.1.2 AngularJS
3.2 Gegenüberstellung
3.2.1 Handhabung
3.2.2 Portabilität
3.2.3 Deployment
3.2.4 Testbarkeit
4 Zusammenfassung und Ausblick
4.1 Zusammenfassung
4.2 Kritische Reflexion
4.3 Ausblick
Zielsetzung & Themen
Die vorliegende Arbeit setzt sich zum Ziel, moderne Technologien für die Entwicklung von Rich Internet Applications (RIAs) zu untersuchen und zu vergleichen. Im Zentrum steht dabei die Evaluation von JavaFX als Client-basierter Ansatz im Vergleich zu AngularJS als klassischem Ajax-basierten Framework, um deren Eignung unter verschiedenen technischen Kriterien zu bewerten.
- Definition und Charakteristika von Rich Internet Applications
- Vergleich von Ajax-basierten Web-Frameworks und Client-basierten RIA-Lösungen
- Detaillierte Analyse der JavaFX-Architektur
- Strukturierte Gegenüberstellung anhand der Kriterien Handhabung, Portabilität, Deployment und Testbarkeit
- Kritische Reflexion über moderne Anwendungsarchitekturen
Auszug aus dem Buch
3.1.1 JavaFX
Oracle hat gemeinsam mit dem JDK 8, JavaFX in seiner neuen Version vorgestellt. Doch was ist JavaFX eigentlich? Es ist ein UI-Toolkit was den Anforderungen moderner Oberflächenentwicklung gerecht werden soll. In diesem Abschnitt wird auf dieses Framework näher eingegangen, die Architektur erläutert und der Grund genannt, warum gerade dieses, in Bezug auf RIA, thematisiert wird.
Die Grundlage bildet hier, wie bei Java-Anwendungen generell, zunächst die JavaVirtualMachine, die den Bytecode ausführt. Darauf aufbauend liegen Abstraktionsschichten für die einzelnen Teile von JavaFX. Das Rendering der Komponenten wird von D3D (Windows), OpenGL oder Java2D übernommen, letzteres ist bei JavaFX jedoch nur ein Fallback, da es leider nicht besonders performant ist. Zwischen dem JavaFX-Scene Graph und den Renderingschnittstellen liegt Prism, ein Modul, das zwischen JavaFX und dem Betriebssystem vermittelt. Die weiteren Module, das Glass Windowing Toolkit und die Media Engine, die Webengine sind für die Anzeige von Fenstern, Dialogen und Web inhalten sowie das Abspielen von Sounds zuständig. Oberhalb dieser nativen Schichten, die betriebssystemspezifisch sind, vermittelt das Quantum Toolkit, um der JavaFX API einen einheitlichen Zugriff auf die Ressourcen zu geben.
Neben dieser plattformunabhängigen und umfangreichen Architektur bietet JavaFX dem Entwickler zunächst die bekannte Komponentenbibliothek aus Fenster-, Eingabe-, Container-, Formen- und Tabellenkomponenten. Zusätzlich dazu gibt es die bereits angesprochenen Web- und Mediakomponenten und erstmals native Diagramme (Kuchendiagramm, Balkendiagramm). Es ist also mit der mitgelieferten Bibliothek bereits möglich, Informationen für den Nutzer sehr ansprechend aufzubereiten. Sollte einem dies jedoch nicht genügen, kann man bequem neue Komponenten definieren und bestehende erweitern. Die bereits aus Swing bekannte Definition der GUI im Java-Programm hat bei JavaFX eine deskriptive Konkurrenz bekommen. Und zwar ist es möglich die Oberflächen jetzt in einer FXML-Datei definieren. FXML ist ein XML-ähnliches Format das die Komponenten und Attribute enthält und zur Laufzeit dynamisch ausgewertet werden kann. Wer bei diesem Ansatz an (X)HTML denkt liegt nicht weit fehl, da es nämlich zusätzlich möglich das Aussehen der Komponenten über CSS zu manipulieren. Hier muss man jedoch Anmerken, dass dieses nur an das „Web-CSS“ angelehnt ist und eigene Styles definiert.
Zusammenfassung der Kapitel
1. Einleitung: Die Einleitung führt in die Motivation ein, Internetanwendungen in Richtung Desktop-ähnlicher Look-and-Feel-Erlebnisse zu entwickeln, und definiert das Ziel der Gegenüberstellung von Frameworks.
2. Grundlagen: In diesem Kapitel werden die theoretischen Basisbegriffe wie Classic Internet Applications, Rich Internet Applications sowie die Unterschiede zwischen Ajax-basierten und Client-basierten Ansätzen erläutert.
3. Alternativen: Der Hauptteil vergleicht die Frameworks JavaFX und AngularJS detailliert anhand technischer Kriterien wie Handhabung, Portabilität, Deployment und Testbarkeit.
4 Zusammenfassung und Ausblick: Das Abschlusskapitel fasst die Ergebnisse der Vergleichsanalyse tabellarisch zusammen und reflektiert kritisch über die gewählten Untersuchungsparameter.
Schlüsselwörter
Rich Internet Application, RIA, JavaFX, AngularJS, Frameworks, Web 2.0, Ajax, Benutzeroberfläche, Client-basierte Anwendungen, Softwareentwicklung, Plattformunabhängigkeit, Deployment, Testbarkeit, GUI, Java
Häufig gestellte Fragen
Worum geht es in dieser wissenschaftlichen Arbeit grundlegend?
Die Arbeit befasst sich mit der Entwicklung und dem Vergleich von Rich Internet Applications (RIAs), die moderne Anforderungen an eine dynamische, Desktop-ähnliche Nutzerführung im Web erfüllen sollen.
Welche zentralen Themenfelder werden in der Publikation behandelt?
Zentral sind die technologischen Konzepte hinter RIAs, die Unterscheidung zwischen Ajax- und Client-basierten Frameworks sowie deren praktische Eignung in der Softwareentwicklung.
Was ist das primäre Ziel der Untersuchung?
Das Ziel ist die Gegenüberstellung der Frameworks JavaFX und AngularJS, um deren Stärken und Schwächen für die Erstellung moderner Web-Applikationen objektiv bewerten zu können.
Welche wissenschaftliche Methodik wird für den Vergleich herangezogen?
Die Arbeit nutzt einen kriterienbasierten Vergleichsansatz, bei dem die Technologien anhand von Handhabung, Portabilität, Deployment und Testbarkeit gegenübergestellt werden.
Welche Schwerpunkte werden im Hauptteil der Arbeit gesetzt?
Im Hauptteil liegt der Fokus auf der Architekturanalyse von JavaFX und AngularJS sowie der detaillierten Gegenüberstellung der operativen Aspekte beider Frameworks.
Welche Schlagworte charakterisieren diese Arbeit am besten?
Die wichtigsten Begriffe sind Rich Internet Application (RIA), JavaFX, AngularJS, Plattformunabhängigkeit, Deployment-Strategien und Test-Frameworks.
Wie unterscheidet sich die Portabilität von JavaFX von der von AngularJS?
Während AngularJS auf Browser-Kompatibilität setzt, basiert JavaFX auf dem Java-Prinzip "Write Once, Run Anywhere" (WORA), benötigt jedoch spezifische Laufzeitumgebungen (JVM) bzw. Portierungen für mobile Geräte.
Welche Rolle spielt die Testbarkeit bei der Auswahl des Frameworks laut Autor?
Die Testbarkeit ist ein kritischer Qualitätsfaktor; JavaFX profitiert hier von etablierten Java-Testwerkzeugen wie JUnit, während AngularJS auf Community-Lösungen wie Jasmine oder Karma angewiesen ist.
- Quote paper
- Jan Schmidtken (Author), 2015, Die Erstellung von Rich Internet Applications. Ein Vergleich von aktuellen Frameworks, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/305143