This post originated from an RSS feed registered with Ruby Buzz
by James Britt.
Original Post: Cross-platform Ruby Applications with Laszlo
Feed Title: James Britt: Ruby Development
Feed URL: http://feeds.feedburner.com/JamesBritt-Home
Feed Description: James Britt: Playing with better toys
I think I first heard about Laszlo a year ago, but dismissed it because it required one run some odious servlet/J2EE(tm) thing. Recently, I was prompted to take another look, and the current release now provides a standalone compiler.
You can edit and compile .lzx source files locally, producing .swf files. These objects can then be deployed from any Web server; it no longer matters that they were built using Laszlo. The compiler still requires Java (tm) but at least you don't have to struggle with it on the server. Some local struggling is still required, though: the Laszlo Windows installer does a poor job of setting up the compiler batch scripts, which include hard-coded, incorrect paths. However, once running, it is a breeze to build the Flash files (and you can skip running the local instance of Tomcat, too).
Laszlo UI objects let you use XML-RPC and SOAP to talk with the server. The Ruby standard library includes both of these, so a Laszlo-built client can happily work with a Ruby-based server.
A few months ago I played around with RubyScript2Exe + WEBrick + Orbjson to create a standalone rich-UI application. Though Windows-only, it was quite slick.
The application was designed to execute test scripts against a separate Web application. All code and resource files were bundled up in the exe file. When run, the file self-extracted and kicked off the main Ruby code. This in turn started a WEBrick instance and launched the default browser.
The user than saw a dynamic selection of test scripts; clicking a script would invoke the excellent WTR test library and render back the results.
On a side note, the test scripts were written in a Ruby-based DSL that made it easier for testers to construct test cases without having to know much Ruby right off. Once the main application was installed, a tester could add new scripts to an application subdirectory.
Given Laszlo's new option for local compilation, the same sort of application could be built with Flash + XML-RPC in place of HTML + Orbjson.
This particular application assumed Windows (in so much as it was ultimately scripting instances of IE). I never bothered running it on Linux. But the RubyScript2Exe site claims that the same library can produce similar standalone apps for Linux, and that some experimental work has been done for Mac OS X.
BTW, if your development machine has enough horsepower, IBM has an Eclipse-based Laszlo IDE. (Eclipse puts a Vulcan death-grip on my laptop, so I'll zip along with Gvim in the meantime. See here for some IDE-related links.)