Architecture

The OpenLaszlo SDK consists of a compiler written in Java, a runtime JavaScript library, and an optional Java servlet that provides additional services to the running application.OpenLaszlo Compiler


The OpenLaszlo Compiler compiles LZX source files into executable binaries for targeted run-time environments. OpenLaszlo currently targets Flash player version 8, Flash player version 9, and DHTML.


The Compiler provides support for these features:XML UI CompilationThe LZX user interface description is a declarative XML description of an application interface. The compiler, under the developer's control, transforms these XML descriptions into either SWF bytecodes or DTHML that create an application interface when the application is executed.

ECMAScript CompilationLZX user interface classes and instances are annotated with ECMAScript methods and event handlers. The compiler transforms them into optimized bytecode.

Media, data, and font compilationTranscodes PNG, JPG, GIF, SWF, MP3, and TrueType font files, and embeds them into application object files (SWF only).

Size ProfilingHTML reports of application size.

OpenLaszlo Servlet


The OpenLaszlo Servlet proxies application requests for additional media types and for SOAP and XML-RPC web services.  Read more about the OpenLaszlo servlet, and J2EE deployment, here.


The Servlet provides support for these features:Media transcodingTranscode a variety of media types into a set that the Flash 8 and 9 players can display.

Data transcodingOptionally transcode XML data responses to a compact binary format.

CachingOptionally cache the results of requests to media and data servers.

ProxyingProxy requests to remote media and data servers, using a server-side whitelist or blacklist.

XML ServicesBack-end support for SOAP, XML-RPC, and JavaRPC requests.

Logging and administrationAn administration console and declarative user interface allow text-based and GUI inspection of server state.

OpenLaszlo Runtime Library


The OpenLaszlo Runtime Library (also called the Laszlo Foundation Class, or LFC) includes user interface components, data binding, and network services.

The Runtime Library provides support for these features:ComponentsA rich library of user interface components, including web form components and configurable grid and tree, let you get prototype quickly.

LayoutA variety of layout managers position user interface components automatically when their sizes change.

AnimationA declarative animation system provides declarative or procedural animation for all user interface elements, with automatic ease-in and ease-out for design-quality animation.

ConstraintsA declarative constraint system automatically update user interface attributes from the values of data sets, other user interface attributes, or user events.

Data bindingAutomatically fills in user interface components values from XML data sets, and can make multiple copies of components that match multiple values.

XML ServicesHTTP requests for XML, SOAP, XML-RPC, and JavaRPC services.

DebuggingAn embedded command-line debugger displays runtime warnings and logging information, and interprets ECMAScript expressions within the context of the application.