Using OpenLaszlo to Create and Deploy Mobile Applications

OpenLaszlo is a platform for developing, debugging, and deploying rich network-enabled applications to a wide range of target run times and platforms. OpenLaszlo Applications can be run on-demand over the network in all of the popular web browsers, and can also be packaged for standalone installation onto desktop or mobile devices. With OpenLaszlo, it is possible to create applications like Pandora.com and Gliffy.com with exceptionally fluid and elegant user experience by incorporating animation and dynamic constraints features that are built into the platform.

An OpenLaszlo application is written using a combination of Javascript and the XML markup language called LZX. LZX combines a declarative XML syntax and standard CSS stylesheets to describe the appearance, layout, and containment hierarchy of the application’s components. Javascript code is then used to specify the behavior of the application.

OpenLaszlo supports programming using advanced ECMA5 standard Javascript language features, such as a built-in class system. The application is compiled into a platform-independent intermediate Javascript representation, and then is automatically translated by the compiler to run on a wide variety of target platforms.

OpenLaszlo supplies a standard runtime class library, called the LFC (Laszlo Foundation Classes), that provides state-of-the-art graphics models, powerful events, animation libraries, touch and gesture event support, network XML data, JSON encoding and decoding, multimedia support, and all of the other services required for real applications.

Deploying an OpenLaszlo Application on a Mobile Device

OpenLaszlo makes it easy to implement applications that dynamically resize and adjust their layouts, which is key for mobile applications that may have both variable screen geometry and tight constraints on screen real-estate. A powerful constraint system allows components and layouts to automatically adjust their relative positions and sizes at run time if needed.

Once an OpenLaszlo application has been developed, it can be deployed without modification on a number of platforms Currently there are two primary target run times supported: Flash 10 and HTML5; in fact the same application source code can be compiled down to run natively in either of these run-time environments.

Contact List: A Sample Application

Let’s look at a simple OpenLaszlo Contacts application, contacts.lzx, which consists of 50 lines of code and a small data file. This application was developed in OpenLaszlo using data replication to display a list of contacts from an XML data set. In addition, it uses a standard OpenLaszlo scrollbar component, and a small custom class to display the contact item. Run this application, and click on a contact to see its expanded information.

Deploying Contacts.lzx as a Widget

Turning the OpenLaszlo application into an installable package, such as a widget, is a simple process using the Deployment Utility. The iterative develop-test-modify-deploy development cycle is made easy by OpenLaszlo’s built-in Widget Emulator. With a single click, it packages the OpenLaszlo application as a widget, and then unpacks it into a temporary directory, and redirects the browser to that location, as shown here with the Opera browser:

It also lets you leverage a number of third party tools such as the Ripple emulator from tinyHippos:

Once the application is complete, the OpenLaszlo Deployment Utility creates an installable package file for a variety of target environment formats, including W3C Widget, Mac OSX Dashboard Widgets, Android JIL Widgets, and Flash 10 applications in .swf file format through its simple interface:

Then, the Deployment Utility produces a downloadable widget file, along with instructions for installation:
Mac OSX Dashboard Widget
Android JIL Widget
W3C Widget for Opera
Application for any mobile browser (tested with WebKit)

It’s that simple with OpenLaszlo!

About OpenLaszlo

OpenLaszlo is the only rich internet platform that lets you write once and compile to both Flash and HTML5 for deployment on a wide range of targets, including both desktop browsers and mobile platforms. OpenLaszlo is an open-source project sponsored by Laszlo Systems, a leading provider of rich-unified internet applications for consumers and businesses.

Learn more about OpenLaszlo: Getting Started with OpenLaszlo
Connect with other users: OpenLaszlo Forums
Subscribe to the OpenLaszlo Mobile mailing list: OpenLaszlo Mobile mailing list
Check out the OpenLaslo Mobile blog: OpenLaszlo Mobile blog
Follow us on twitter: @OpenLaszlo