Laszlo King of rich client technology?

Rich Client is a term thats been hanging around for a while now, it describes a group of applications that provide more client end functionality than traditional websites would.

Encompassed in this group are technologies and methodologies such as Flash, AJAX, XUL and XForms. It’s all about giving users more interactivity and providing an experience that would normally be associated with desktop client software.

A new contender has recently grabbed my attention, OpenLaszlo is well placed to come in and steal the limelight from some of the other rich client solutions I’ve mentioned. Laszlo applications are written in XML and JavaScript and compile into Flash to run in the browser, this essentially means that we can write Flash applications in the same way we would with DHTML. Laszlo has a Server side component in the form of a J2EE web application that will run on Tomcat, WebSphere etc. It’s also open source and there are no restrictions on selling the applications you create with it.

Recently our Department was approached by a customer to produce a prototype vehicle dashboard for an offroad vehicle, it would be a browser based app which would take vehicle stats and display them for engineers to examine. Aha I thought, the perfect opportunity to try out Laszlo. I had a very short timescale (as we usually do with these prototype projects, in this case 10 days) in which to get a fully functioning system that would take raw data straight from a vehicle and present it in a graphical manner.

Choosing Laszlo was a bit of a risk, my experience with it was limited to what I had read on the OpenLaszlo website but it was open source so I figured if I hit any sticking points I could probably just patch the Laszlo source. Thankfully I didn’t have to do this, I found the XML markup Laszlo used to have an intuitive set of tags and attributes very reminiscent of DHTML and the scripting language stuck rigidly to that of JavaScript syntax. As a result my development work got off to a quick start.

As I continued I kept discovering little niceties of Laszlo. For one it’s extremely simple to work with XML, binding UI elements to data just involves setting an xpath on the UI element. There are also plenty of server communication options including standard HTTP connections, RPC, and WebServices setting it up nicely for an SOA implementation. There is also a nifty persistent connection interface which allows you to push data down to the client from the server, perfect for pubsub or Instant Messaging applications.

At the end of the day, I’ve come out with a very pleasant impression of Laszlo. I managed to produce an XML data driven graphical UI application in less than 10 days that most importantly worked and that our customer was happy with.

– Rob Smart (Emerging Technology Services, IBM Hursley)