JavaScript-Bibliotheken, ICEfaces, Adobes Flash, Microsoft Silverlight und jetzt HTML5, der globale Wettbewerb um die Netzwerkdominanz ist in eine neue Ära eingetreten – eine Ära der Rich Internet Application (kurz RIA, auf Chinesisch auch Rich Internet Application genannt).
Der Zweck dieses Artikels besteht darin, zu definieren, was RIA ist, zu erklären, warum das Web begonnen hat, sich RIA anzunähern, die verschiedenen heute existierenden RIA-Frameworks zu erkunden, einen Überblick über einige Vor- und Nachteile jedes Frameworks zu geben und zu diskutieren, was Diese neuen Technologien werden im Zukunftszustand aussehen.
Was ist eine RIA?
Die sogenannte RIA oder Rich Network Application bezeichnet eine Netzwerkanwendung, die wie ein Desktop-Programm funktionieren kann. Bevor RIAs aufkamen, wurden die meisten Webanwendungen mit statischen Seiten erstellt.
Sumo Paint ist ein Flash-basiertes RIA mit Grafikbearbeitungsfunktionen wie Photoshop.
Im Gegensatz zu Desktop-Anwendungen erfordert jede Interaktion mit einer Webseite oft das Neuladen einer völlig neuen Seite. Desktop-Anwendungen hingegen bieten eine viel bessere Benutzerinteraktivität, da die gesamte Verarbeitung auf dem Computer des Benutzers selbst erfolgt, was für ein nahtloseres Benutzererlebnis sorgt.
Infolgedessen begannen sich Softwareentwickler zu fragen: „Soll unser Produkt eine Desktop-Anwendung oder eine Webanwendung sein?“
Das ist immer eine berechtigte Frage, da beide Arten von Apps ihre eigenen Vor- und Nachteile haben.
Desktop-Anwendungen bieten eine reibungslose Benutzerinteraktion, Software wird jedoch verkauft und weist Probleme bei der Veröffentlichung und Aktualisierung auf.
Webanwendungen hingegen sind leicht online verfügbar und weisen keine Probleme auf, die mit Software-Releases und -Updates einhergehen, weisen jedoch eine sehr schlechte Benutzerinteraktivität auf.
Wie können Sie also das Beste aus beiden Welten herausholen?
RIA ist das Beste aus beiden Welten. RIA wird über das Internet veröffentlicht und bietet sehr umfangreiche Benutzerinteraktionen. Dank der Entstehung von Ajax, einer Methode für Webanwendungen zum Senden von Serveranfragen ohne Aktualisierung, entstanden neue Technologien, die sich der RIA-Bewegung anschlossen.
Basierend auf diesen Technologien sind mehrere Frameworks entstanden, die Entwicklern beim Erstellen und Bereitstellen umfangreicher Webanwendungen helfen, z. B. JavaScript-Bibliotheken, ICEfaces, Adobe Flash 4 (der Vorgänger von Flex 3), Microsoft Silverlight und HTML5.
Lassen Sie uns das RIA-Framework einzeln besprechen.
JavaScript-Bibliothek für Webanwendungen
JavaScript-Bibliotheken wie jQuery und MooTools gehören zu den ersten Technologien, die wirklich zur Bereitstellung reibungsloser und interaktiver Rich-Webanwendungen beitragen können. Sie stellen ein RIA-Framework bereit, das die Funktionalität der Front-End-Schnittstelle durch die Nutzung clientseitiger Skripterstellung verwaltet. Dabei handelt es sich um einfache Javascript-Dateien, die mit einigen nützlichen, browserübergreifend getesteten Funktionen integriert sind. Sie können Ajax verwenden und gängige benutzergesteuerte ereignisbasierte Interaktionen wie das Ein- und Ausblenden von Inhalten verwalten.
Die beliebtesten sind derzeit jQuery (insbesondere unter Verwendung der jQuery-Benutzeroberfläche), MooTools, YIU (Yahoo User Interface Library) und EXTJS. Zu diesen Bibliotheken gehören RIA-Komponenten wie Raster, Diagramme und komplexe Formularelemente sowie Tools für den Umgang mit Ajax. Das Faszinierendste ist, dass die meisten JavaScript-Bibliotheken für die Webentwicklung Open Source sind.
Wenn Sie keine integrierte Entwicklungsumgebung (IDE) kaufen möchten, aber dennoch eine hervorragende und professionelle RIA-Funktionalität auf Ihrer Website wünschen, sind JavaScript-Bibliotheken eine gute Wahl.
Zu den Websites, die JavaScript-Bibliotheken verwenden, gehören Google, Digg, Yahoo, Amazon, Microsoft, Twitter und Best Buy.
ICEfaces
ICEfaces ist eine Erweiterung des Standard-Frameworks JavaServer Faces (JSF), die den Arbeitsablauf des Programmierers vereinfachen soll, indem JavaScript aus der Gleichung entfernt wird. Mit anderen Worten: ICEfaces übernimmt für Sie das gesamte JavaScript/Ajax über die Java Application Interface. Durch den Wegfall der komplexen Einführung dieser benutzerdefinierten JavaScript-Funktionen wird die Aufgabe der Erstellung umfangreicher Webanwendungen erheblich vereinfacht.
Wenn der Großteil Ihres Teams aus Java-Entwicklern besteht, Ihre Webanwendung keine komplexen Komponenten erfordert, über die andere ICEfaces nicht verfügen, oder wenn Ihre Webanwendung ereignisgesteuert ist, ist die Verwendung von ICEfaces eine gute Wahl. Wenn Ihre Webanwendung ereignisgesteuert ist, stellen Sie sicher, dass Sie verstehen, dass ICEfaces keine echte „Server-Push“-Technologie bietet, die von HTML5, Flash Builder 4 und Silverlight unterstützt wird. Dementsprechend verwendet ICEfaces jedoch eine lange Abfragemethode, um die Server-Push-Technologie zu simulieren.
Zu den Standorten, die ICEfaces verwenden, gehören Boeing, NASA, Union Pacific, T-Mobile und Bank of America.
Adobe Flash Builder 4
Flash gibt es schon seit langem, aber bis zur Einführung von Flex, einer Erweiterung von Flash, die RIA-Webkomponenten bereitstellt, war die Erstellung ganzer Webanwendungen mit Flash mühsam.
Das Spannendste an Adobe Flash Builder 4 sind seine plattform- und browserübergreifenden Funktionen, die es dem Programm ermöglichen, auf allen Betriebssystemen und allen Browsern auf die gleiche Weise zu laufen. Im Vergleich zu JavaScript, wo Browser über unterschiedliche JavaScript-Engines verfügen, die Code verwalten und verarbeiten, verfügt Adobe Flash nur über eine Engine, die Benutzer über das Adobe Flash-Browser-Plug-in installieren (das sie normalerweise haben).
Flash Builder 4-Anwendungen können dies tun, da sie in die HTML-Seite eingebettet sind, was bedeutet, dass der Browser selbst keinen Einfluss auf die Anwendungsleistung hat. Das bedeutet, dass Sie bei Bedarf selbst die komplexesten Webanwendungen im IE6 ausführen können. (Das ist natürlich einfach, da das Flash-Plug-in/die Flash-Engine häufig aktualisiert wird und daher nur geringfügig von der Version des Plug-ins des Benutzers abhängt.)
Diese Anwendungen werden in der Regel von einer serverseitigen Verarbeitung begleitet, beispielsweise einer Java-Back-End-Verarbeitung, und erfordern für die Entwicklung die Flash Builder 4-IDE.
Wenn Ihr Team hauptsächlich in Java entwickelt (weil es gut mit Java funktioniert) oder wenn Ihre Anwendung eine ereignisgesteuerte Architektur verwendet, können Sie sich für Adobe Flash Builder 4 entscheiden.
Zu den Websites, die Flash als Webanwendung verwenden, gehören Mint.com, Flickr und Hyundai.
Silverlight
Silverlight ist im Grunde die Microsoft-Version von Adobe Flex/Adobe Flash. Es hat zwar an Bedeutung gewonnen, scheint jedoch nicht den Bekanntheitsgrad von Adobe Flash erreicht zu haben.
Silverlight-Anwendungen sind offensichtlich an das .NET-Backend gebunden, da es sich um ein Microsoft-Produkt handelt. Das bedeutet, dass Sie über die Integration zwischen Silverlight/.NET und Adobe Flex/[einige serverseitige Skripte wie PHP] nachdenken müssen.
Wenn Ihre Webanwendung komplexe Grafiken erfordert, Ihr Team hauptsächlich aus .NET-Entwicklern besteht oder Ihre Anwendung eine ereignisgesteuerte Architektur verwendet, können Sie sich für Silverlight entscheiden.
Websites, die Silverlight verwenden, wie zum Beispiel Netflix.
HTML5
HTML5 ist die neueste Entwicklung in der RIA-Bewegung. HTML5 ist im Wesentlichen die beste Kombination aus HTML4, JavaScript, CSS, Javascript-Codebibliotheken und Falsh und nutzt das API-Modell in einer einzigen Spezifikation. HTML5 ist eine offene Technologie, was bedeutet, dass es keine einheitliche Aufsichtsbehörde wie Flash für Adobe oder Silverlight für Microsoft geben wird.
Da die HTML5-Spezifikation noch nicht abgeschlossen ist und IE9 noch nicht veröffentlicht wurde, müssen Sie noch etwas länger warten, um Webanwendungen auf Produktionsebene zu erstellen.
Derzeit unterstützen alle gängigen Browser außer IE8 HTML5. Da IE8 einen großen Teil des Browsermarktes einnimmt, ist es für HTML5 wirklich schwierig, vor der Veröffentlichung von IE9 zum Mainstream zu werden.
Sobald HTML5 umfassend unterstützt wird, wenn Sie keine IDE kaufen und erlernen möchten (erforderlich für Frameworks wie Flex und Silverlight), wenn Ihre Anwendung eine ereignisgesteuerte Architektur verwendet oder wenn Sie lieber integrierte HTML-Funktionen und JavaScript verwenden möchten API-Funktionen statt der Verwendung einer JavaScript-Bibliothek eines Drittanbieters, dann ist die Verwendung von HTML eine gute Wahl.
Obwohl Grafiken in HTML5 gut verarbeitet werden können, ist die Verwendung von Flash und Silverlight zur Verarbeitung komplexer Grafiken und Animationen derzeit immer noch die einfachere/schnellere Option.
Sind HTML5-Apps die Zukunft des Internets? Nicht ganz. Solange kreative und innovative Webentwickler weiterhin etwas Besonderes schaffen, werden immer neue Technologien auftauchen, die erstaunliche Dinge leisten können, die HTML5 oder andere Webtechnologien nicht können.
JavaScript-Bibliotheken, ICEfaces, Flash, Silverlight und HTML5 sind vor allem wegen ihrer Kreativität und Innovation bekannt. Zukünftige Netzwerke werden wie heute aus vielen nebeneinander existierenden Technologien bestehen.
Quelle: sixrevisions.com
Zusammengestellt von: MazingTech
Vielen Dank an MazingTech für Ihren Beitrag