Cross-platform development is always a challenge, particularly when programs require rich and consistent user interfaces. Revolution 2 meets that challenge, allowing developers to generate runtime apps for a wide range of platforms, including Windows, Linux, several Unix variants and three flavours of Mac OS.
A particular strength is that Revolution applications use interface elements that are consistent with the platform they are deployed on.
Revolution uses a “stack” metaphor, which will be familiar to HyperCard and SuperCard developers. In fact, the useful and unobtrusive online help has start pages for experienced MetaCard, HyperCard or SuperCard developers, or “traditional language” developers. It also has options for programming novices and the impatient (“Jump right in”).
We chose the traditional language option and found the tutorial to be helpful, concise and to the point. It’s a welcoming introduction that other environments would do well to emulate.
Like HyperCard, Revolution has its own high-level scripting language, Transcript, which attempts a natural-language syntax that sometimes looks like pseudo-code. That makes Transcript code easy to understand, though some developers will certainly prefer a more traditional syntax, and it won’t easily be ported to other environments. We found Transcript reasonably straightforward and the editor and debugger were simple and intuitive.
We were surprised that even the free version of Revolution allows creation of royalty-free standalone applications for other platforms. We made a simple app in Mac OS X and elected to build applications for Windows, Mac OS X and Linux. The build process automates downloading of code needed to build binaries for other platforms — a one-time process — and the resulting applications were on average a couple of megabytes larger than the original stack.
While these applications were simple in the extreme, they successfully demonstrated Revolution’s cross-platform capabilities.
Behind the stack metaphor, Revolution is no toy. Version 2 includes useful features such as Unicode support, an XML library and a drag-and-drop database query builder. Revolution supports many internet protocols as well as direct sockets, has a wide range of multimedia features and can access shell variables and I/O streams. Runtime Revolution touts Revolution also as a CGI and command-line builder.
All versions of Revolution 2 support ODBC connectivity, but the $1700-plus professional version also has native drivers for Oracle, MySQL, PostreSQL and Valentina. The free version isn’t restricted in its feature set, but it does place limits on the length of Transcript scripts.
List Price: Available in several versions, ranging from free to $US995
Developer: Runtime Revolution
Pros: Runs on a wide range of platforms; useful interface-building tools; full-featured free version
Cons: Proprietary scripting language; less established developer community