Montag, 31. August 2009

RIA, Flash, Flex - Was ist das alles überhaupt?

Begriffe, mit denen im Bereich Flex sehr viel hantiert wird. Bevor ich also mit der Programmierung anfangen möchte, erstmal ein kleiner Einstig (in Marke "Simple und einfach" in den Bereich RIA, Flash und Flex und was eigentlich was ist.

RIA steht für Rich Internet Applications. Hierbei handelt es sich um ein "neues" Applikationsmodell mit der Trennung des Backends (d.h. der Logik, die hinter dem ganzen steht. Stellen wir uns z.B. vor, wir wollten unsere Flex-Applikation in eine bestehende Software oder eine bestehende Webseite integrieren. Auf der Website oder in der Software sind diverse Informationen gespeichert und wir möchten diese Informationen gerne mit Flex anzeigen lassen. Dann wird die Verarbeitung der Informationen nicht in der Flexapplikation stattfinden, sondern die Verarbeitung findet erst statt und dann werden die Informationen an die Applikation weitergereicht und müssen nur noch angezeigt werden. Alternativ ist es auch in Flex möglich mit Klassen zu arbeiten und eine Hauptseite zum Anzeigen zu verwenden und alle anderen Aspekte in Klassen auszulagern. Aber ich komme vom Thema ab, also weiter im Text...) und des Frontends (in dem nur die Darstellung unserer vorher verarbeiteten Inhalte erfolgt. Außerdem ermöglichen RIA asynchrones Datenladen, d.h. nur die Daten, die aktuell benötigt werden, werden auch angezeigt und sie werden immer nachgeladen, wenn neue Daten benötigt werden. In vielen Softwarebereichen (man denke z.B. auch an Spiele wie WoW, GuildWars, Gothic etc, bei denen ab und an so nette Ladebalken erscheinen) ist dieses bereits normal, in Internetapplikationen kam dies jedoch erst mit den RIA. Außerdem sind RIA plattformunabhängig und lassen sich überall darstellen, wenn überhaupt sind nur kleinere Erweiterungen zum Anzeigen der RIA nötig, wie z.B. im Falle von Flex ein Flash Player 9 bzw. Adobe Air für Desktop Anwendungen). Und warum heißen die nun "Rich" Internet Applications? Stellt euch mal eine einfache Webseite vor oder betrachtet dieses Blog und nun nehmt im Vergleich irgendeine Flash- oder Flexanwendung oder eine Javaanwendung. Dort habt ihr z.B. Vorteile wie "Drag&Drop" Funktionalitäten oder faszinierende Bewegungen etc. Rich steht also für reichhaltig und bedeutet, dass ein Mehrwert geboten wird.
Sooo und warum erzähle ich euch grob, was RIA sind? Ganz einfach: Flash und Flex sind solche RIA und weisen die o.g. Vorteile auf.
Weitere Informationen zu RIA erhaltet ihr z.B. bei Wikipedia oder bei Adobe selbst oder fragt Google.

Wo ist nun der Unterschied zwischen Flex und Flash?
Defakto wird beides nachher im Flash-Player angezeigt, also kann der Unterschied ja nicht ganz so groß sein, richtig?
Adobe Flash gilt als ideal für Animationen und Filme, da z.B. mithilfe einer Timeline gearbeitet werden kann. Für Interaktionen kann hierbei mit ActionScript programmiert werden. Also z.B. Interaktionen, die über die Timeline hinausgehen wie z.B. das Erscheinen oder Verschwinden von Objekten.
Adobe Flex ist eher für weitergehende Entwicklungsprojekte geeignet, da es auch objektorientierte Programmierung anbietet. Außerdem ist eine Datenübertragung von extern (z.B. von PHP oder für SAP-Entwickler interessant auch von ABAP/WebDynpro ABAP) möglich. Zur Übertragung via PHP werde ich in späteren Blogeinträgen kommen, nachdem die Grundlagen von Flex und Flex Builder klar sind :). Apropos Flex-Builder - auch dies ist ein Argument für die erweiterte Entwicklung mit Flex anstatt mit Flash. Der Flex Builder bietet nämlich bereits vorgefertigte Komponenten zur Oberflächengestaltung wie z.B. Textfelder, Buttons, Tabellen oder Diagrammtypen an.

Wo ich gerade bei Flex bin, könnte ich euch eigentlich auch noch einen kurzen historischen Überblick über die Entwicklung von Adobe Flex mitgeben (genauer nachzulesen bei Adobe oder Wikipedia):
Die erste Version von Flex hat Macromedia 2004 auf den Markt gebracht. Diese baute auf dem Dramweaver 2004 auf und es handelte sich damals noch um eine Serverapplikation mit sehr hohen Lizenzgebüren. Verständlicherweise hatte dies zur Folge, dass Flex noch nicht so erfolgreich war und auch nur im Unternehmensumfeld eingesetzt wurde. Zwei Jahre später ist dann das heute bekannte Flex entstanden. 2006 war Macromedia bereits von Adobe aufgekauft und Flex wurde komplett umgearbeitet. So kam 2006 dann Flex 2.0 auf den Markt in Zusammenhang mit dem Adobe Flex Builder 2.0, der auf Eclipse aufbaut. Flex wurde zu einer Clientapplikation, bei der kein Server mehr benötigt wurde, weswegen es nun auch privat verwendbar wurde und die Gebüren sanken. 2008 ist dann Flex 3.0 erschienen, das Flex, mit dem wir heute arbeiten. Parallel wurde ein Flex SDK 3 als OpenSource-Version unter der Mozilla Public Licence herausgegeben (ich habe im letzten Blogeintrag erwähnt, wo man diese Version herbekommt!) sowie der (kostenpflichtige) Adobe Flex Builder 3.0 mit einigen Erweiterungen zur Version 2.0, wie z.B. nach mehreren Aspekten sortierbare Tabellen. Für irgendwann Ende 2009 bzw. Anfang 2010 ist dann die nächste Version (Flex 4.0) geplant. Scheint also ganz gut zu laufen, wie man auch an den vermehrt auftretenden Flex-Applikationen im Internet und für den Desktop (mit Adobe Air, wie z.B. diverse Twitterclients wie Twhirl oder TweetDeck) sehen kann, würd ich mal sagen…

So, ich denke, das war vorerst genug Theorie. Im nächsten Blogeintrag geht es dann weiter mit der Bedienung vom Flex-Builder und dann auch mit dem ersten kleinen Projekt mit Flex. Ihr dürft euch schonmal freuen…

Keine Kommentare:

Kommentar veröffentlichen