At a Glance
We're going to state right off the bat that RealBasic 5.0 is a significant and worthy upgrade to an already fine product. As a programming environment that lets ordinary civilians write useful Mac software with a minimum of experience, sweat equity, and grain alcohol, RealBasic no longer stands alone -- but it's still the best choice for entry-level programmers.
People who've never written a line of code before will find that RealBasic 5.0 is a nonthreatening environment in which to acquire fundamental programming skills. Experienced programmers who are comfortable with modern BASIC will discover that they can build Cocoa or Classic applications just as professional-looking and powerful as many applications developed in more-traditional, hard-core development environments such as Metrowerks; CodeWarrior and Apple's Project Builder.
The Basics of RealBasic
One of the most attractive things about building software in RealBasic is that you don't start off by designing your application's data structure and code framework. Instead, you pick up the mouse and design the user interface. Imagine having a copy of Adobe Photoshop -- only instead of brushes, pens, and shape tools, the tool palettes are full of standard user-interface elements such as windows, menus, and buttons.
Once you've created something that looks right, you go in and attach bits of working code to each of those user-interface elements. Wiring up your interface with code isn't trivial, but RealBasic nicely compartmentalizes the process so you can work on your application in piecemeal fashion, which can be very easy and very fulfilling. You don't have to finish the whole app to see worthwhile results, so if all you feel like doing one day is making a single button work, you can spend an hour writing code and attaching it to the button -- and that button will actually do something useful. There's another advantage of the get-results-as-you-go approach: before you've finished your application, you can take it for a test drive and experience it from the user;s point of view. If your user interface stinks after one day of development, you can fix it the next day, instead of burning several days on work you'll have to undo once you realize your mistake.
Of course, there are many ways to experience the compartmentalized-development model. When RealBasic 1.0 appeared on the scene, its chief competitor was Apple's HyperCard (still the ultimate in right-brain programming environments). Now, the real challenger is AppleScript Studio. Like RealBasic, it lets you build full-featured applications by drawing a user interface and then writing the underlying code. Unlike RealBasic, it's got AppleScript at its core, which means that you'll be learning skills you can use everywhere in the Mac Experience, not just while you're building apps. And unlike RealBasic, which costs at least $100, AppleScript Studio is free from Apple.
But while AppleScript Studio should occupy a prominent slot in anyone's bag of tricks, it wasn't created with the same goals as RealBasic. AppleScript Studio was designed as a simple way to create simple apps; RealBasic was always intended to be an all-solutions development environment that could stand on its own. If you want to grow as a programmer, you'll graduate from Studio at some point, but unless your coding ambitions include creating the next version of Microsoft Office or developing the operational firmware for a race of sentient robots designed to enslave the human race, you can spend years with RealBasic.
There's also the human factor to consider: learning to program in any sort of environment can be a lonely, frustrating process, but when you commit to RealBasic, you become part of an enormous base of smart, dedicated, and friendly users who provide a variety of great resources, from books to message boards.
Rebuilt from the Ground Up
As we've said, RealBasic 5.0 is a huge upgrade. Real Software has dragged its existing compiler and debugger into the Trash and built new ones completely from scratch, which is just as significant and ambitious as Apple's decision to start all over again with OS X instead of just fixing and tweaking its existing code base.
The most noticeable benefit of the reconstructed compiler and debugger is raw speed.
The compiler and debugger are much, much faster at building executable code. You don't need careful benchmark testing to detect subtle improvements here. When I compiled a simple app, RealBasic was done before I had even chosen which magazine to thumb through while waiting for the compilation to finish. The difference is that dramatic.
Real Software has also done some long-overdue housecleaning in its implementation of the BASIC language, chiefly bringing RealBasic more in line with what most of the world has come to expect from BASIC. The company has also fixed some long-standing (and weird) quirks, particularly regarding how programmers have to declare and allocate variables. On the whole, programmers who are already familiar with BASIC (and budding RealBasic programmers who might want to use their knowledge elsewhere someday) will have a much easier transition, thanks to the changes made in 5.0. The environment is also far stabler than that of previous editions, and it now offers a new Project Manager (available only in the Pro edition) that makes it easier for multiple programmers to collaborate on a project. But Real Software hasn't addressed a persistent gripe of ours: you still can't open two projects simultaneously and cut and paste code between them, so you may waste an awful lot of time opening and closing files if you want to casually recycle code between projects.
Still, the real fun of RealBasic 5.0 is in the new OS X features that you can easily implement in your applications. You can use metal windows (as in iTunes), native OS X toolbars (as in Sherlock 3 and the Finder), and window drawers. Version 5.0 supports OS X's Quartz graphics technology, which makes your text and graphics instantly crisper. In short, you can make applications that look and feel just like anything created in a more conventional development environment. Of course, those compiled applications are still a little on the large side, though they're slimmer than they used to be.
Builders of network-savvy applications will be thrilled to find out that RealBasic now offers built-in support for HTTP, POP, and SMTP, and the Pro edition adds support for SSL and server sockets. Anyone creating applications that require multiple simultaneous TCP connections will be very happy.
We should also note our excitement about 5.0's compatibility with a soon-to-be-released Windows edition of RealBasic. RealBasic has always been a multiplatform environment -- you can turn many Mac RealBasic projects into Windows applications with just a few clicks -- but this file- and project-compatible release promises to allow one help desk or IT department to serve the development needs of everyone on every platform.
We are not nearly so happy that some of our RealBasic 4.5 projects didn't compile correctly in RealBasic 5.0. Fortunately, Real promises to fix this in an update.
Macworld's Buying Advice
All of 5.0's core improvements and new features are neat stuff, of course, but what makes RealBasic a compelling buy has remained the same since the early days: when you commit to RealBasic, you've got a lot of people at your back.
With its newly rebuilt compiler and debugger, and with its incorporation of OS X's appealing interface features, RealBasic remains the most fun way to develop thoroughly modern and truly muscular applications for the Mac.