Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Robotlegs - Ein MVC(S) Framework für Flex und AIR - Überblick

Dank eines aktuellen Projektes durfte ich die Microsoft und .NET Welt verlassen und wieder einmal Flash /Flex bzw. AIR Luft schnuppern (oder genießen). Nicht das es keinen Spaß macht .NET zu entwickeln, doch belebt es ungemein den Geist mal andere Technologien auszuprobieren.
Meine Aufgabe bestand darin eine Desktop Applikation mit Adobe AIR zu entwickeln. Da diese schnell, zuverlässig und vor allen erweiterbar sein sollte und zudem eine solide Struktur besitzen musste, habe ich mir einige der aktuell verfügbaren MVC Frameworks für Adobe Flex angeschaut.
Erstaunlicherweise hat sich, im Gegensatz zu Silverlight, im Flex MVC Umfeld ein regelrechter Wald an MVC Frameworks entwickelt - schwer, da einen Überblick zu behalten und das richtige für sich zu finden.
Zwei der bekanntesten Frameworks sind Cairngorm und PureMVC:

  1. Cairngorm: Bei Cairngorm handelt es sich um ein Open Source Framework welches ursprünglich von Firma "iteration::two" entwicklet wurde. Später ging das Unternehmen zu Macromedia über und mittlerweile zu Adobe. Das Projekt existiert seit 2002 und ist  seit 2004 open source. Cairgorm basiert auf dem klassischen MVC Prinzip. Mein erster Eindruck von Cairngorm war, dass dieses Framework mit einem erheblichen Einarbeitungsaufwand verbunden ist. Ein sofortiger Entwicklungsstart ist somit nicht ohne weiteres möglich. Der Support über Community ist gewährleistet.
  2. PureMVC:
    PureMVC setzt wie Cairngorm ebenfalls auf das klassische MVC Pattern. PureMVC funktioniert mit Flash, Flexs sowie mit AIR. Ebenso Portierungen für C# und Java sind verfügbar.


    Betrachtet man das Diagramm der einzelnen Komponenten von PureMVC, ist der erste Gedanke "Oh mein Gott - Wer soll das verstehen".  Das Framework ist jedoch äußerst gut dokumentiert. So existiert eine Dokumentation, welche 52 Seiten umfasst, in Englisch, Französisch, Deutsch, Chinesisch, Russisch sowie in Spanisch. Der Support durch die Community ist ebenfalls sehr gut.
    Eine Besonderheit von PureMVC ist, dass nahezu alle Schichten mehr oder minder miteinander kommunizieren können. Dies ist fürs Erste sehr verwirrend, in der Entwicklung aber von Vorteil.

Zusammenfassend für diese Frameworks ist zu sagen, dass beide einen sehr hohen Einarbeitungsaufwand fordern. Zudem produzieren beide eine hohe Code und Klassen Menge.

Robotlegs

Nach weiteren Recherchen im MVC Umfeld stieß ich auf Robotlegs.

"Robotlegs is a pure AS3 micro-architecture (framework) with a light footprint and limited scope."

Robotlegs bedient sich des klassischen Model View Controller Prinzips, erweitert um eine Service Komponente. Das grundlegende Prinzip von Robotlegs ist, dank der guten Dokumentation, schnell verstanden.

blank
Quelle:http://www.robotlegs.org

Grob erklärt besteht RL aus View mit den dazugehörigen Mediatoren, Commands (Controller) sowie dem Model und Services. Außerdem muss ein Context existieren, welcher alle grundlegenden Dinge instanziieren soll. Er bildet sozusagen das Herzstück der Applikation und stellt auch den zentralen "Event-Bus" dar. Ein weiteres Feature von Robotlegs, was mich letztendlich auch dazu bewogen hat RL zu verwenden, ist die Möglichkeit "Dependency Injection" zu verwenden.

[Inject]
public var myService : FlickrService;

Wer DI einmal verwendet hat, wird es lieben.

Für meine Applikation habe ich mich letztendlich für das Robotlegs Framework entschieden. So viel vorn weg, die App hat den finalen Stand erreicht 🙂

Weiter ins Detail von Robotlegs geht es im nächsten Artikel.

Nützliche Links:

Related Posts

Pin It on Pinterest