RealBasic 2005 for Mac, Windows and Linux
Cross-platform development nirvana?
Review Since its arrival in the mid-1990s, RealBasic has been helping amateur and professional software developers create applications quickly by side-stepping most of the complexities other languages and programming environments throw at them.
Back in the days of the language from which RB is derived, you could type in half a dozen lines of program code, type 'Run', and see the effect immediately. The Unix command line, with its shell languages, maintains this easy, text-only approach. But GUI programming necessitates a significant amount of set-up work just to put in place the canvas on which your application will paints its results, whether it's a feature-packed photo-editing tool right down to the simplest of utilities.
RB's approach has always been to hide away as much of the infrastructure and application management code as possible. You design your application visually, dragging and dropping user interface elements onto windows, but with RB you add just enough code to determine each component's behaviour. You don't need to tell text field A that it's going to change when button B is clicked - it's enough to provide B with a line of code to change A's contents. Similarly, elements which look simple but are in fact composed of a nested set of related components - table views, for example - are, in RB, very easy to create.
The downside is that RB apps may not run as quickly as software written from scratch might do, or where powerful code optimisation tools can be used. But for the many GUI-based apps, so much time is spent waiting for the user to do something that obtaining ever-finer levels of performance aren't needed.
RB has been steadily evolving since its debut, running first on the Mac OS, then on Windows, and adding cross-compilation and targeting Linux on the way. In its current incarnation, the Linux version is a true peer of the other platform releases. However, the changes made to RB 2005 go deeper than that, and it represents one of the tool's biggest updates so far.
For starters, RB has had a facelift. Gone are the various floating palettes and windows of old, replaced by a slick single-window user interface that places controls, application window or code, and control properties into separate panes. It's neat, it's perfect for screening off all the desktop clutter that inhibits concentration, and it's more intuitive. The layout mirrors the workflow: drag a control from the left-hand pane onto your application's window in the middle, then adjust its properties in the right-hand pane. The pane-widths can be adjusted, to suit your preference.
Double-clicking on a control, replaces the properties and application UI view with a code-entry pane, while a hierarchical list of the app's controls, methods, properties and menu handlers replaces the control palette. RB lists all the possible events the control can respond to, so it's immediately clear what behaviours you may need code for. Events you've provided code for are highlighted in bold text.