Preface

When we started Laszlo Systems in 2000, our vision was to enrich web browsers with desktop-style interaction. Just as many other software languages, such as Java, had obscure beginnings in unrelated fields, we needed a tool to program Flash-based set-top boxes. Flash’s timeline-based authoring tools had proven to be too unwieldy for building large applications.

We decided that rather than build a framework to assist Flash, we’d just view the Flash Player as a virtual machine and build our own compiler to output Flash files. This approach was the genesis of Laszlo LZX.

A benefit of this compiled approach was the complete freedom to specify our own programming model, which we named LZX, to write Flash-based applications. We modeled the initial design of the LZX language on Dynamic HTML (DHTML), because we wanted the familiarity offered by tags, events, and JavaScript and the benefits provided by a declarative language approach.

We designed LZX to be a meta-language capable of being ported to multiple environments. This would allow it to take advantage of the strengths offered by each platform. Therefore, we designed the LZX language and APIs to be completely separate from Flash. Although this was a requirement from the project’s inception, it took several years of development before we were ready to support other runtimes. After a lot of hard work, we launched the first commercial release of Laszlo in 2002, which targeted the ubiquitous Flash 5 Player.

OpenLaszlo was born on October 5, 2004, when we released the source code for the entire Laszlo platform under an open source license. Since then, a vibrant user community has developed around OpenLaszlo. There are user groups based in Japan, India, China, and much of Europe. We’re constantly amazed at the breadth and quality of the community’s contributions!

In 2007, we delivered on our initial promise of runtime independence with the release of OpenLaszlo 4. Now, a single LZX source application could be compiled to Flash, DHTML/Ajax, or Java/J2ME with Sun’s Project Orbit and execute in an identical manner. OpenLaszlo 4 makes it easy to add new runtimes, so we expect to see LZX applications running on an increasingly wide variety of devices and platforms in coming years.

As an open source project with a business-friendly licensing and no ties to a specific runtime or platform, OpenLaszlo is uniquely positioned to be the de facto language for new web-based platforms; already fledging support has been established for Apple’s iPhone. New projects are under way to take advantage of future platforms and provide native support for mobile devices.

Thank you for exploring the possibilities of OpenLaszlo and for purchasing this book. Norman Klein, Glenn MacEwen, and I look forward to seeing the exciting applications you create!

Max Carlson