Rich Internet Applications mit dem Open-Source-Framework OpenLaszlo: Neue Oberflächen für das Web 2.0
Das Web 2.0 bringt ganz neue Anforderungen an die Webanwendungsentwicklung mit sich. Google Maps, YouTube und FlickR zeigen, dass reine (D)HTML-Seiten an Bedeutung verlieren. Die Integration von Video und Audio, animierte Oberflächen-Elemente und XML-Datenaustausch im Hintergrund sind heute schon Standard. Was bedeutet das für die Entwicklung von Webanwendungen?
- Reichen existierende Standards wie (X)HTML und JavaScript aus?
- Wird eine enge Zusammenarbeit von User-Experience-Designern, Interface-Architekten und den Webentwicklern erleichtert?
- Gibt es einen etablierten Entwicklungsprozess, wie man ihn aus der herkömmlichen Anwendungsentwicklung kennt (Teamarbeit, Versionsverwaltung, Unit Tests usw.)?
Standardisierter Entwicklungsprozess
Laszlo Systems begann im Jahr 2000 mit der Entwicklung von OpenLaszlo, damals noch unter dem Namen Laszlo Presentation Server. Zu dieser Zeit war es über die Kombination von (X)HTML und JavaScript zwar möglich, interaktive Oberflächen für das Internet zu entwickeln, die Browserunterschiede waren jedoch sehr groß. Webentwickler verwendeten immense Zeit darauf, zu testen, ob ihre Webseiten in allen Browsern korrekt und möglichst identisch angezeigt werden. Flash-Filme liefen zwar in allen Browsern identisch, die über ein Plugin verfügten. Aber auch Flash war keine wirkliche Alternative, da die Entwicklung mit der Flash-Autorensoftware (Timeline, Movieclips usw.) professionelle Softwareentwickler abschreckte.
OpenLaszlo tritt an, diese Probleme zu lösen. Der Webentwickler kann aufbauend auf den W3C-Standards XML und JavaScript programmieren, der Server stellt sicher, dass die Anwendungen auf den verschiedenen Browsern und Betriebssystemen identisch aussehen. Die aktuelle OpenLaszlo-Version 3.3 unterstützt die Ausgabe in den Formaten Flash 6, 7 und 8.
Ab Anfang 2007 soll mit OpenLaszlo 4.0 Ajax als weiteres Laufzeitformat angeboten werden. Die Entwicklung von flüssig animierten, modernen Oberflächen für Web- und Anwendungsentwickler unter Verwendung bestehender Entwicklungsumgebungen wie Eclipse [1] oder Emacs soll damit möglich werden.
Bessere Zusammenarbeit
Ein Großteil der Mitarbeiter während der Gründungsphase von Laszlo Systems hatte zuvor im Bereich Anwendungsentwicklung für das interaktive Fernsehen gearbeitet. Bei der Konzeption solcher Anwendungen kam es immer wieder dazu, dass die User-Experience-Designer den Entwicklern Prototypen zeigten, die mit herkömmlichen Technologien (Java, DHTML usw.) nicht zu realisieren waren.
So entstand die Idee, ein System zu entwickeln, dass die innovativen Konzepte der Interface-Spezialisten für die Entwickler umsetzbar macht. Besonders bei Animationen, dynamischen Layouts und beim Clipping von Bildschirmbereichen boten die existierenden Technologien nicht die Möglichkeiten, die von den Designern gefordert wurden. Hier liegen die Stärken von OpenLaszlo: flüssig animierte Oberflächen, einfaches Skinning von Komponenten sowie eine sehr einfache Anbindung an XML-Datenquellen. Die besondere Form der Webanwendung, die dabei entsteht, bezeichnet Laszlo Systems als Cinematic User Experience.
Programmieren mit LZX als W3C-Standard?
OpenLaszlo-Anwendungen werden in der Programmiersprache LZX entwickelt. LZX kombiniert XML-Dateien mit JavaScript-Code. Der Wechsel von der (X)HTML-/JavaScript-Entwicklung sollte erfahrenen Webentwicklern daher nicht schwer fallen.
Zurzeit untersucht ein Expertenteam des W3C, die Web Application Formats Working Group, inwieweit LZX beispielhaft für die zukünftige Entwicklung von Webanwendungen sein könnte [2]. Untersucht werden dabei auch verwandte Technologien wie XUL (Mozilla),MXML (Adobe Flex) und XAML (Microsoft).
<canvas width="100%" height="100%" bgcolor="#ffffff" debug="true"> <debug x="550" y="370" width="300" height="200" /> <font name="myriad" xsrc="myriabol.ttf" /> <text x="57" y="80" fgcolor="#000000" fontsize="35" font="myriad"> Rich Internet Applications mit OpenLaszlo </text> <window x="60" y="170" width="400" height="400" title="Drag & Drop"> <view align="center" y="100" resource="LaszloBar.png" opacity="0.6" onmouseover="this.animate('opacity', 1.0, 300)" onmouseout="this.animate('opacity', 0.6, 300)" /> </window> <view x="550" y="170" oninit="this.setSource('running_machine.swf')" > </canvas>
Listing 1
LZX baut auf XML, JavaScript und Xpath auf und lässt sich mit jedem Text- oder XML-Editor programmieren.
Unterstützung von IBM und Sun
Der erste große Förderer von OpenLaszlo war IBM. Kurz bevor OpenLaszlo Open-Source-Software wurde, begann IBM im Sommer 2004 mit der Entwicklung einer IDE für OpenLaszlo als Eclipse-Plugin. Das Projekt wurde später der Eclipse-Foundation übergeben, wo es heute weitergeführt wird.
Im Oktober 2006 kündigte Laszlo Systems dann die Zusammenarbeit mit Sun Microsystems unter dem Namen Project Orbit an. Beide Unternehmen arbeiten an der Erweiterung der OpenLaszlo-Plattform in Richtung Java2 Micro Edition (J2ME). Für Ende dieses Jahres ist ein erster Prototyp eines OpenLaszlo-Programms auf einem Mobiltelefon mit Java-Unterstützung angekündigt.
Flash oder Ajax? Wo liegt die Zukunft?
Obwohl OpenLaszlo seit über zwei Jahren Open Source ist, gibt es bis jetzt in der Open-Source-Community starke Vorbehalte gegen die Verwendung des Flash-Plugins. Mit Ajax als neuem Ausgabeformat wird OpenLaszlo für viele Entwickler erheblich interessanter werden. Dennoch bietet Flash diverse Funktionalitäten, die man bei der Ajax-Ausgabe schmerzlich vermissen wird, etwa die direkte Unterstützung zum Abspielen von MP3-Dateien und Videos sowie die Einbindung von True-Type-Fonts in die Anwendung. So wird es auch in Zukunft OpenLaszlo-Anwendungen geben, die bewusst auf Flash als Ausgabeformat setzen.
Vorteile der Flash-Ausgabe | Vorteile der AJAX-Ausgabe |
MP3, Video, Mikrofon, Webcam | Unabhängig vom Flash-Plugin |
Streaming-Video und -Audio | Schneller XML-Parser |
Einbindung von True-Type-Fonts | |
Drawing API (Drawview) |
Flex und XAML
Macromedia entwickelt mit dem Flex Presentation Server seit 2003 eine Konkurrenztechnologie zu OpenLaszlo, heute bekannt als Adobe Flex. Flex unterstützt ausschließlich Flash als Ausgabeformat. Während der Flex-Compiler kostenlos verwendet werden kann, ist die volle Funktionalität von Flex an den Einsatz des kommerziell vertriebenen Flex Data Servers gebunden.
Microsoft wird ab Windows Vista die XML-basierte Entwicklung von Oberflächen über XAML (Extensible Application Markup Language) als Teil der Windows Presentation Foundation unterstützen. XAML-Anwendungen können aber nur von Windows-Systemen beziehungsweise dem Internet Explorer ausgeführt werden.
Auch wenn Flex und XAML das Prinzip der Generierung von Oberflächen aus XML-Dateien aufgreifen, ist der Ansatz beider Technologien ein anderer als der von OpenLaszlo. Als Open-Source-Projekt kann jeder an der Weiterentwicklung von OpenLaszlo teilnehmen [3]. Zudem können OpenLaszlo beliebig viele Laufzeitformate hinzugefügt werden, etwa J2ME, SVG oder SWT, da die Architektur des OpenLaszlo-Servers daraufhin optimiert wurde.
Fazit
OpenLaszlo hat durch den weit verbreiteten Einsatz bei Firmen wie Yahoo, Earthlink, IBM, der Bank of America und Barclays gezeigt, dass die Technologie auch im Großeinsatz stabil und erfolgreich läuft. Mit der Unterstützung von Ajax ab Anfang 2007 wird die Technologie einen weiteren großen Entwicklungsschritt machen. Was zurzeit noch fehlt, sind ausgereifte visuelle Entwicklertools, wie sie für Adobe Flex bereits existieren. Auch die Auswahl an Büchern zum Thema ist noch sehr begrenzt. Im zweiten Quartal 2007 wird vom Autor das erste deutschsprachige OpenLaszlo-Buch im Franzis Verlag erscheinen.