REALBasic 3.1, by REAL Software
Posted: 28-June-2001

4 1/2 out of 5 Mice

Vendor: REAL Software Type: COMMERCIAL

Reviewer: Earl Bruch Class: PRODUCTIVITY

Reviewer System: Performa 6116CD with Sonnet G3 240 MHz Upgrade Card, Dual Monitor, 72 MB RAM, OS 9.0.4, 9.1 GB SCSI HD.

REALBasic 3.1 has emerged as a visual development environment that hobbyists and professional software engineers alike can use to build fully functional programs on the Macintosh. Although version 3.0 was incompatible with the late March, 2001, Mac OS X release, REALBasic 3.1 resolves a lot of OS compatibility issues and contains many bug fixes. REALBasic 3.1 also supports the creation of Windows Applications, serving as a cross-platform compiler solution.

This review, however, will focus on the Macintosh version of REALBasic 3.1, running on OS 9.0.4.

The REALBasic software package provides a development environment based on the BASIC programming language, with an object-oriented programming (OOP) structure of classes. It includes extensive prepackaged toolbox objects that can be plugged into the REALBasic workspace application framework. This type of visual environment allows for rapid prototyping and less time creating and debugging the user interface code.

REALBasic's workspace, windowing system, and toolbox objects aid in designing a Mac OS or Windows GUI enabled application. Without having to learn an event driven graphical user interface API associated with a hot object-oriented language, the user gets to spend more time on getting functionality integrated with the program's user interface. Time spent on training is significantly reduced using this type of development environment. Associated learning and guide materials in PDF files are available from the REAL Software, INC. web site:
http://www.realbasic.com, and in the REALBasic product download.

With the above materials, a used copy of Matt Neuburg's REALBasic: The Definitive Guide, information from user forums and web sites, and past academic experience with Microsoft's QBasic and Visual Basic 6.0, I began my evaluation of REALBasic 3.1. Given my previous experience with the Windows equivalent of the development environment and understanding of object-oriented programming concepts, my evaluation is from an expert perspective, not a beginner's perspective. A new user would be better prepared to orient themselves with good GUI design practices, object oriented methodology, and Mac toolbox knowledge (graphics, file I/O, etc.) before tackling commercial software development with REALBasic's built-in functionality.

This review focuses more on the IDE and the compiler. Whether you are new to REALBasic 3.1, had experience with Microsoftăs Visual Basic, or no visual programming experience, there is a wealth of materials available in this package, and you are only limited by your desire to learn, imagine and create innovative REALBasic applications.

Compiler
Many BASIC language users might remember that they had to start up an interpreter and then load a basic program to run it. Later, companies such as Microsoft, introduced modularity to the market in programs such as QBasic. Not until the commercial release of Microsoft's Visual Basic 4 in the mid 1990's was there a visual project environment with prepackaged drag and drop functionality. Object oriented features were limited in this release, but future releases would further improve on OOP implementation.

The Mac OS, which is already known for its mastery of design and function, has benefited greatly from the availability of REALBasic for the Mac. REALBasic 3.1 has improved upon the non-stop simplification of GUI aided visual development. The exceptional design of the compiler allows the user to build for 68K (Motorola 68020 or greater, MacOS 8.1 and earlier), PowerPC (MacOS 9.1 and earlier), Mac OS X (PowerPC G3 or greater), and Windows. While I was using the compiler to build and run my program within REALBasic, I found the build process quick and easy on my old upgraded Apple PowerPC Macintosh. For example, I created a small database program that read entries, displayed data in different views, performed searches, and saved data to database tables. The program I built was a card catalog that ended up being 1.1MB after the build. That's a small footprint on my hard drive for a fully functioning database application with a graphical interface!

The build application window has a lot of modifiable features that allow you to configure settings prior to the build process. I found this method to be more efficient than opening another window and changing the preferences like other commercial compilers force you to do.

IDE
The project workspace has the feel and look of a Macintosh application, but it resembles the Microsoft Visual Basic version for Microsoft Windows. This is not a design flaw. Since REALBasic 3.1 is a cross-platform compiler, not just an Apple Mac OS compiler, the user interface designers have a similar layout to Visual Basic for those Microsoft Windows developers who want to convert to Macintosh. The project workspace consists of the following windows: the tool window, the properties window, the code editor, and the window editor.

On my dual display G3 upgrade system, I found it simple to arrange the tools window, property window and code editor on one monitor, and the window editor on the other monitor. Using the components in the tools window to create and manipulate their position was effortless. Dragging and dropping control components from the tools window saves a lot of time and reduces repetitive coding tasks. Many of these coding tasks, such as buttons, text fields and many GUI structures, would be a pain to code using C or C++ under a standard IDE. Controlling object geometries, appearance style, font style and tab index speeds up the development process. For each object, you know what options are available to modify and don't have to look at a language or API specification to find information on a certain property.

While the GUI code framework is coded by placing objects in the window editor, the code editor allows users to add functionality to toolbox components by adding code to the handlers. The code editor is very useful since it has the handlers listed, with expanded lists on one side of the browser and the code displayed on the other. The same browser is used for debugging and tracking program errors.

Debugger
Debugging with the code editor window is intuitive for the beginner and the professional alike. Just as with any commercial compiler, there is a debugger that allows the developer to set breakpoints and step through the program to find the error. With the help of the stack and variables window, array and object viewers can go to specific handlers in the code to see how the variables are being modified. The object viewer is extremely helpful when stepping through a program and checking for memory leaks.

XML File Formatting Features
REALBasic Versions 3.0 and greater can export REALbasic projects in XML format, edit them, and then read them back in. This is a new important feature that allows developers to publish documents to the corporate intranet or internet for quality assurance review or transfer to others. Tools developers can create metrics tools and other XML processors to improve documentation and exploration of code during a review. Inexpensive tools can be used to improve code integration without purchasing high priced software from Rational or other software corporations. This expands on REALBasic's commitment to true cross-platform compatibility.

Summary
In conclusion, this is an environment that both beginners and professionals can use to explore GUI object oriented programming and create commercial applications.

Academic staff, students and other beginners can use this software package to start developing GUI enabled software on the Macintosh in a relatively short period of time. The windowing system is a pleasure to use and the tools are abundant for developing commercial grade applications. The amount of functionality included in this third major release of REALBasic is amazing compared to others in the same software market. Every few months, more code is being developed with REALBasic, and forums on the Internet are overflowing with information, code examples, libraries and documentation. The REALBasic web site is easy to navigate and has detailed information on the language spec, fixes, downloads, examples and other materials relevant to REALBasic development. With major support from REAL Software, INC. and other REALBasic users, any ambitious programmer can use REALBasic to create the next "killer" app for the Macintosh.

Pros

  • XML file formatting for projects
  • Edit code in an external editor
  • Cross-platform compiler (MacOS and Win32)
  • Good windowing layout for project workspace and IDE
  • Intuitive Debugger
  • REALBasic language simple but powerful
  • Lots of support available (web sites, user groups, etc.)


Cons

  • Debugger window layout could be improved
  • Stability of debugger could be improved


Overall Rating

4 1/2 out of 5 Mice