A new version of
Laszlo has just been released.
It contains a number of important feature additions that make the platform a lot more viable (compared against 2.2.1):
- Serverless Deployment
You can now choose to deploy Laszlo applications without a proxy server. Before, all data request went through a J2EE servlet application that proxied this with the actual destination. By removing the proxy, Laszlo applications become standalone Flash applications and they can thus be deployed in environments where resources are scarce or where no servlet container is available. There's a limitation on the available futures, but for most applications this should not be a problem (no persistent connections, SOAP or XML-RPC).
- Dynamic libraries
Parts of your application can now be included dynamically at runtime. This can be important if you have a huge application and only want to let the users download the features they actually use. You also have the option of letting them download a small initial part first and delay the download of the libraries until idle time in the application, making everything available much quicker and not forcing a large initial download. I can see this also being important if you plan on actually generating parts of the application at runtime instead of just providing data. Since the LZX compiler takes a while to compile the source to Flash, just loading your generated part dynamically should make it possible to investigate this model further.
- Drawing API
LZX now includes a subset of the WHAT-WG graphics API, this allows you to perform drawing operations at runtime. I can see this particularly being important for generating graphs and charts according to real-time data. Instead of having to dynamically generate static images on the server, you should now be able to keep all this functionality right into Laszlo.
- Unicode support
It's now finally possible to develop internationalized applications with Laszlo! This is both available for the text that you write in the application itself, as for the text that is entered in text widgets. The communication with a server is now also performed in UTF-8.
The detailed release notes are
here and
here.
I tried it out with an application that I developed for version 2.2.1, and I found a number of problems:
- The generated Flash will be targeted at Flash Player 6 and I noticed that my previous animations (which were exported for version 5) make every browser crash when included in the Laszlo application. The workaround seems to be to re-export them, targeted at Flash version 6.
- There is still no support for a multi-line text edit field that shows a scrollbar when the text exceeds the visible area!
- There's a bug when sending internationalized data as a HTTP POST request through the proxy server, the text seems to be re-encoded by the proxy as ISO-8859-1. This doesn't happen when the application runs in un-proxied mode.
- The font metrics seem to be wrong. When using accented characters, the cursor gets positioned wrongly in a text field and the rendering makes characters re-position randomly. Also, the dimensions for ASCII text seem to be wrongly calculated since text wraps even though there's enough available space and when displaying a single line, the parts of the characters underneath the baseline are trimmed.
I have to say that I'm impressed by the dedication of the Laszlo people. After my previous posts, I got contacted directly by
Adam Wolff, the director or Laszlo Systems. He's really devoted to try finding out how to reduce the gripes people have with Laszlo and to lower the adoption barrier. Also, I managed to get hold of a 3.0b2 version early by peeking around where I was not supposed to look and I mailed him about the problems I encountered. He immediately forwarded my mail to three developers, asking to investigate! It's good to see that they are so actively and dynamically supporting users.