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 3.x currently targets the Flash player version 7 and above, and OpenLaszo 4, also targets DHTML.
The Compiler provides support for these features:
- XML UI Compilation
The 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 Compilation
LZX user interface classes and instances are annotated with ECMAScript methods and event handlers. The compiler transforms them into optimized bytecode.
- Media, data, and font compilation
Transcodes PNG, JPG, GIF, SWF, MP3, and TrueType font files, and embeds them into application object files (SWF only).
- Size Profiling
HTML 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 transcoding
Transcode a variety of media types into a set that the Flash 7, 8 and 9 players can display.
- Data transcoding
Optionally transcode XML data responses to a compact binary format.
- Caching
Optionally cache the results of requests to media and data servers.
- Proxying
Proxy requests to remote media and data servers, using a server-side whitelist or blacklist.
- XML Services
Back-end support for SOAP, XML-RPC, and JavaRPC requests.
- Logging and administration
An 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:
- Components
A rich library of user interface components, including web form components and configurable grid and tree, let you get prototype quickly.
- Layout
A variety of layout managers position user interface components automatically when their sizes change.
- Animation
A declarative animation system provides declarative or procedural animation for all user interface elements, with automatic ease-in and ease-out for design-quality animation.
- Constraints
A declarative constraint system automatically update user interface attributes from the values of data sets, other user interface attributes, or user events.
- Data binding
Automatically fills in user interface components values from XML data sets, and can make multiple copies of components that match multiple values.
- XML Services
HTTP requests for XML, SOAP, XML-RPC, and JavaRPC services.
- Debugging
An embedded command-line debugger displays runtime warnings and logging information, and interprets ECMAScript expressions within the context of the application.