- OpenLaszlo
-
OpenLaszlo Entwickler Laszlo Systems Aktuelle Version 4.9.0
(21. Oktober 2010)Betriebssystem Cross-platform Lizenz CPL openlaszlo.org OpenLaszlo ist eine Plattform zur Erstellung von Rich Internet Applications. Das zuvor unter dem Namen Laszlo Presentation Server vom kalifornischen Unternehmen Laszlo Systems entwickelte System wurde am 7. Oktober 2004 unter der Common Public License als Freie Software veröffentlicht.
Inhaltsverzeichnis
Beschreibung
OpenLaszlo ist eine serverbasierte deklarative Entwicklungsumgebung, die es dem Entwickler ermöglicht „Rich Internet Applications“ (RIA) on-the-fly zu erzeugen. Dabei editiert der Entwickler mit Hilfe eines Texteditors den Inhalt einer LZX-Datei, die auf dem Server liegt. Mit dem Browser ruft der Entwickler diese Datei von seinem OpenLaszlo Server auf und bekommt wahlweise einen Flash- oder DHTML-Dialog in seinem Browser angezeigt. Der Anwender der Applikation ruft ebenfalls die Seite auf und benutzt die Webseite transparent als RIA-Applikation.
OpenLaszlo verwendet das gleiche Prinzip wie Flex von Adobe Systems, wobei OpenLaszlo bereits Jahre vor Adobe mit der Produktidee auf dem Markt war. Erst als Macromedia begann, Flex zu entwickeln, wurde aus dem ursprünglich proprietären Produkt „Laszlo“ ein freies Produkt „OpenLaszlo“. Die Rich Internet Applications werden in einer eigenen XML-Sprache mit dem Namen LZX verfasst. LZX - eine XAML ähnelnden xml-Sprache, basiert auf einer Mischung von XML-Tags und ECMAScript-Code. Diese LZX-Dateien werden dann mittels Java (zum Beispiel Tomcat-Server) „on-the-fly“ in Flash-Bytecode übersetzt, der durch das Flash-Plugin des Webbrowsers ausgeführt wird. Alternativ können auch sogenannte SOLO-Applikationen übersetzt und exportiert werden, die als eigenständige .SWF-Dateien bzw. DHTML-Code in Webseiten eingebunden werden können. Seit der Version 4.7 ist es möglich wahlweise SWF-Dateien (Flash 8/9/10) oder DHTML zu erzeugen. Dabei muss serverseitig keinerlei Änderung am Sourcecode vorgenommen werden. Die Strategie des Open-Source-Projektes ist es, beim „Player“ der Anwendungen möglichst herstellerunabhängig zu bleiben. Insofern sind weitere Player-Typen in Vorbereitung.
OpenLaszlo ist ein Werkzeug, mit dem in kürzester Zeit Frontend-Anwendungen erstellt werden können. OpenLaszlo ist eine deklarative Entwicklungsumgebung, der ein XML-Dialekt (LZX) und ein Java-basierter Generator zu Grunde liegt. Es gibt eine Trennung zwischen Design (Layout-Entwurf, Skinning, visuellen Komponenten) und der Programmlogik (Ereignis-Handhabung und Backend-Anbindung). Dabei sind sonst sehr aufwendig zu implementierende Mechanismen - wie etwa MVC - integrierter Bestandteil (z. B. aktualisieren sich Listen und DataGrids automatisch, wenn die Datenquelle neue Ergebnisse liefert.) Als Backend dient entweder das OpenLaszlo Servlet (J2EE Deployment) oder auf einem Webserver installierte Datenquellen (SOLO Deployment) die z. B. in PHP, JSP, etc. oder als statische Dateien (XML, FLV, etc.) realisiert werden können.
Deklarative Entwicklung
OpenLaszlo veröffentlichte 2002 den ersten OpenLaszlo-Server, der erstmals die Entwicklung einer Weboberfläche mittels einer deklarativen Sprache ermöglichte. Bei der deklarativen Entwicklung erstellt der Entwickler zunächst ein visuelles Grundgerüst, ergänzt Elemente und verbindet am Schluss die Oberflächenelemente mit den BackEnd-Datenquellen.
Entwicklungsumgebung
Im Rahmen des Open-Source-Projekts wurde auch eine kostenlose Entwicklungsumgebung (IDE) veröffentlicht. Die OpenLaszlo-IDE basiert auf Eclipse und bietet die Möglichkeit, LZX-Dateien zu editieren. Dieses Thema wird aktuell nicht mehr verfolgt. Neben der IDE gibt es jedoch weitere Open-Source-Projekte und kommerzielle Produkte.
Die nachfolgenden Beispiele zeigen, wie einfach eine Oberfläche erstellt werden kann:
Hello world! (LZX)
<canvas width="200" > <text>Hello World!</text> </canvas>
Hello world! (ECMA Script)
<canvas width="200"> <script> var text = new LzText(); text.addText('Hello World!'); </script> </canvas>
Window Beispiel
<canvas width="200"> <window x="10" y="10" width="150" height="150" > <button>Hello World!</button> </window> </canvas>
Komponenten
Zum Erstellen eigener Anwendung kann man auf die Auswahl an Standard-Komponenten zurückgreifen, diese verändern (Skinning, Aussehen und anderes) oder eigene Komponenten entwickeln.
Ausgabeformate
- Flash (swf8, swf9, swf10)
- DHTML
In Planung
- SVG
- JavaME
- Silverlight (Microsoft-Wettbewerbprodukt zu Adobe Flex)
Weblinks
Kategorien:- Freies Webframework
- Freie Server-Software
Wikimedia Foundation.