TweetFollow Us on Twitter

Jun 01 Cover Story

Volume Number: 17 (2001)
Issue Number: 06
Column Tag: Getting Started

REALBasic 3 - The Marriage of Old and New

by Erick J. Tejkowski

Old World Mac Development meets New World Features

Introduction

Coincidental with the release of Mac OS X, REALSoftware announced the latest edition of their popular programming environment — REALbasic 3. REALbasic, a visually based, object-oriented BASIC environment for Macintosh, has always amazed fans in the past. The latest version is poised to do the same. With the introduction of a new operating system like Mac OS X comes the need for applications — and lots of them. REALbasic gives you the chance to create such applications, while simultaneously affording you the opportunity to reach out to other platforms with minimal effort. This fact alone may reason enough to warrant looking into REALbasic, but REALSoftware has also loaded REALbasic with all kinds of other powers.

Something Old

REALbasic 3 continues along the path of earlier versions by providing an easy-to-use cross-platform visual programming environment for the Mac OS. The latest incarnation of REALbasic builds on previous versions (REALbasic 1 & 2), so you will be glad to know that your old code should transfer to REALbasic 3 without a hitch. All of the familiar commands, controls, and features are there for your instant programming gratification.

There are, however, a few changes you should note. For starters, adding a resource file to your project works just as it always has, but now it is quite a bit friendlier. Previously, you were required to give an external resource file the name Resources for it to be recognized in the REALbasic IDE. Now, you are not limited to one external resource file. Instead, you may simply add a .rsrc extension to any file and it’s fair game for inclusion in your project. Therefore, it is now possible to have multiple resource files in your REALbasic project. In the event that you mistakenly include multiple files with conflicting resources (i.e. the same type and number), REALbasic simply overwrites earlier resources based on the order in which they appear in the Project Window.

Another important function that carries over into the latest version of REALbasic is the Declare statement. The Declare statement permits you to access Macintosh and Windows Toolbox calls directly from you REALbasic code, something that once was only possible with a plugin. REALbasic 3 continues to give you this ability and ups the ante by additionally providing access to Carbon calls. This requires a few code changes on your part, but luckily, the transition is nearly painless. Whereas the Classic Mac OS toolbox calls relied upon an assortment of libraries, Carbon code typically relies strictly on one library: CarbonLib. Updating your toolbox calls for Mac OS X often merely entails a library name change. If the syntax of the Carbon call has changed from its Classic predecessor though, you will have to change it as well. (See Listing 1).

Here is what a sample routine might look like:

Listing 1: Declare statements in Classic Mac OS versus Carbon

The only difference between most Class Mac OS Toolbox calls and their Carbon counterparts is a simple library name change.

Declare Function SetSysBeepVolume Lib “InterfaceLib” 
                           (Level as Integer) as Integer

Declare Function SetSysBeepVolume Lib “CarbonLib” 
                           (Level as Integer) as Integer

Something New

In addition to updating existing features, REALbasic adds a host of new abilities. Some of these features ease the transition to Carbon, while others are there just to simplify your life and make the REALbasic experience more pleasant.

The IDE

REALSoftware has made some nice changes in the REALbasic IDE. For example, you may now save your REALbasic projects in one of three formats (see Listing 2).

Listing 2: REALbasic 3 File Formats

Save As enables you to save your REALbasic projects in one of a number of formats rather than only one like in earlier versions.

Standard Project — REALbasic 3 format
REALbasic 2.1 Project — Provides backward compatibility. Without this feature, you would have to 
rebuild your projects if you ever wished to migrate back to REALbasic 2.1.

XML — A new format for REALbasic. The Project saves as an XML text file to encourage REALbasic tool 
development.

Furthermore, REALbasic 3 adds a bit of automation by making the build process Apple-scriptable. This allows you to perform builds under the power of an AppleScript. Figure 1 shows the REALbasic AppleScript Dictionary.


Figure 1. The REALbasic 3 AppleScript Dictionary.

Continuing on the path to making your life easier, REALbasic 3 makes dramatic improvements to the Auto-completion feature. As you type, REALbasic presents you with a list of possible commands, objects, methods, and property names; usually by the time you have typed the second or third letter of the word (see Figure 2). As you type, you see ellipses appearing directly after the cursor. When this occurs, press Tab and a list instantly appears displaying REALbasic’s guess as to what you wish to type next. Select the one you want and hit Return. This is a gem for all those hunt-and-peck programmers out there.


Figure 2. The REALbasic 3 Auto-Completion Feature

The REALbasic IDE also has some subtle navigation enhancements worth mentioning. The Code Editor has been updated with a few interface widgets that help you get around the environment quicker. Located at the bottom left corner of the Code Editor (see Figure 3), four small buttons give you instant access to navigation functions. The first button opens the Window Editor belonging to the current Code Editor in which you are entering code. The second button lets you toggle between showing all events and only the event you are working with. The third button takes you back in time to the last place your cursor rested in the Code Editor. Like multiple undos (which REALbasic has), your cursor can continue traversing backwards in time. The fourth button, as you may have guessed, lets you go in the opposite (forward) direction.


Figure 3. The REALbasic Code Editor provides some navigation options.

Carbon

REALSoftware released the third version of REALbasic alongside another major product release — Mac OS X. This was no accident. Perhaps the biggest news about REALbasic 3 is the fact that it can now compile Carbon versions of your projects, often with little or no change to your existing code. Your applications gain protected memory, Core Graphics text drawing, and other Carbon technologies with no additional effort on your part. Figure 4 displays the new Build Dialog where creating Mac OS X compatible software is as simple as clicking on a checkbox.


Figure 4. The Build Dialog shows how easy it is to create Carbon applications — one checkbox!

Although most code works “as-is” in Carbon builds, there may come a time when you need to address some specific facet of Mac OS X development. For example, Declare statements often differ based on the intended target platform. (Classic Mac vs. Mac OS X vs. Microsoft Windows). To facilitate platform specific code with Mac OS X, REALbasic 3 adds the TargetCarbon directive. Listing 3 shows it in action.

Listing 3: Targeting Mac OS X code

The TargetCarbon preprocessor directive permits you to address Mac OS X — specific code.

#if TargetCarbon
Declare Function SetSysBeepVolume Lib “CarbonLib” 
            (Level as Integer) as Integer
#elseif
Declare Function SetSysBeepVolume Lib “InterfaceLib” 
                           (Level as Integer) as Integer
#endif

The Shell Class is another great new feature available in REALbasic 3 for the first time. With it, you can perform command line functions within your own projects. This creates all kinds of possibilities for enterprising individuals to create GUI-based applications for those command-line shy Mac users out there (and believe me, they exist). For Microsoft fans, this feature also works on Windows (DOS anyone?). Figure 5 shows the Shell Class in action and the pictured example is available on MacTech’s ftp site.


Figure 5. The REALbasic Shell Object in action.

Executing a shell script is as easy as creating a new Shell Object and sending it the Execute command. Listing 4 shows how to list the current processes in an EditField.

Listing 4: Executing Shell Scripts

REALbasic 3 affords you the chance to execute shell scripts just as you do from the command line. This example lists the current processes and the corresponding PID number.

Dim myShell as Shell
myShell = New Shell
myShell.Execute “ps -x | awk ‘{print $1} {print $5}’ ”
if myShell.ErrorCode = 0 then
EditField1.Text = myShell.Result
end if

iDisk

REALSoftware has always been a very open company when it comes to pre-release software. They have always believed that user should be able to take advantage of bug fixes and feature additions as they progress. As such, it is wise to chase down the most recent version of REALbasic, as it is typically quite stable and often provides useful new functions. Prior to REALbasic 3.1b7, REALbasic was only available online directly from REALSoftware. Now, Apple is offering the latest download of REALbasic on iDisk. With iDisk you do not even need a web browser to gain instant access the latest version of REALbasic. Just mount iDisk on the desktop and find REALbasic in the Software directory. Now, that’s cool!

Something Borrowed

Existing REALbasic developers will be glad to know that it continues to support a vast collection of technologies, even within Carbon applications. QuickTime and AppleScript support are there like before, but don’t forget that REALbasic can take advantage of the many new features inherent to both of these technologies. Its like getting bonus features free!

Furthermore, REALbasic 3 supports MIDI, MP3, and MPEG files using Windows Media libraries now. Previously, you were required to use QuickTime. Despite QuickTime’s popularity, more Window’s users take advantage of the Windows Media Player technologies, so this feature is a welcome addition.

Something Blue

Everything is turning blue! No, you do not need a new pair of glasses, it is just the Aqua interface you are seeing. Along with Carbon compatibility, REALbasic makes the switch to Aqua painless. REALbasic 3 uses the Aqua interface under Mac OS X. It also permits you to build applications using the Aqua interface. This all happens transparently to the user. Build projects like you always have; they instantly acquire the Aqua interface when using Mac OS X. REALSoftware has made the transition to Aqua beautifully, although, on occasion, you may need to resize a button or two to deal with the different sized fonts on Mac OS X. Figure 6 shows REALbasic in all its Aqua glory.


Figure 6. REALbasic 3 is Aqua all over.

After the Honeymoon

REALbasic, like Mac OS X, is in a bit of a transitory state at the time this article was written. At this point, everyone is expecting an update to Mac OS X in the near future. REALSoftware is following a similar path by readying REALbasic 3.1. The Beta versions of REALbasic 3.1 are publicly available (see the URL list at the end of this article). Because Carbon is in a state of flux, REALSoftware recommends checking the Beta version of REALbasic should the REALbasic 3.0 version lack some feature you require. Keep in mind that Apple released the final Carbon libraries only shortly before the release of Mac OS X. Once it did, REALSoftware began revising REALbasic to reflect the changes therein. Thus, the Beta version of REALbasic 3.1 provides a glimpse into the latest work coming out of REALSoftware’s Austin offices.

Avoiding Divorce

Some programmers may be wondering what value there is in purchasing a programming environment like REALbasic when Apple gives away free tools with Mac OS X. This is a valid question, but not necessarily a good assessment of the situation. Although Project Builder is essentially free for Mac OS X users, it relies on the more complex Objective C and Java languages for all coding. It does not permit BASIC source code, an undeniably easy language to learn. Moreover, REALbasic provides the only cross-platform visual development environment on the Macintosh. Project Builder doesn’t do Windows! Finally, REALbasic also provides some features unavailable to Project Builder users. For example, REALbasic comes stocked with a database engine, a sprite engine, XCMD support, and more. Sometimes, you truly get what you pay for.

Conclusions

In this article, we took a brief look at the new and updated features of REALbasic 3. Although much of it appears similar to past versions, it is clear that much work has gone into its development. Not only does it make improvements to existing technologies, but it also manages to make it easier than ever to produce quality Macintosh and Windows software. Creating software for Mac OS X has never been easier either. REALSoftware made the transition as painless as Apple made the 68K to PPC change nearly a decade ago. All of your old code works just as it always did, but now on Mac OS X.

References

If you haven’t already registered for an iTools account, do so immediately! With the account you get a 20MB partition (called iDisk) that allows you to publish to the web directly from your desktop. You can download the latest version of REALbasic from it as well.


Erick Tejkowski is the author of REALbasic for Dummies published by Hungry Minds. You can reach him at etejkowski@mac.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

MacFamilyTree 7.3.3 - Create and explore...
MacFamilyTree gives genealogy a facelift: it's modern, interactive, incredibly fast, and easy to use. We're convinced that generations of chroniclers would have loved to trade in their genealogy... Read more
Skype 7.5.0.738 - Voice-over-internet ph...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
PushPal 3.0 - Mirror Android notificatio...
PushPal is a client for Pushbullet, which automatically shows you all of your phone's notifications right on your computer. This means you can see who's calling or read text messages even if your... Read more
Logic Pro X 10.1.1 - Music creation and...
Apple Logic Pro X is the most advanced version of Logic ever. Sophisticated new tools for professional songwriting, editing, and mixing are built around a modern interface that's designed to get... Read more
VLC Media Player 2.2.0 - Popular multime...
VLC Media Player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, MP3, OGG, ...) as well as DVDs, VCDs, and various streaming protocols. It... Read more
Sound Studio 4.7.8 - Robust audio record...
Sound Studio lets you easily record and professionally edit audio on your Mac. Easily rip vinyls and digitize cassette tapes, or record lectures and voice memos. Prepare for live shows with live... Read more
LibreOffice 4.4.1.2 - Free, open-source...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
VueScan 9.5.03 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Freeway Pro 7.0.3 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With its user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
Cloud 3.3.0 - File sharing from your men...
Cloud is simple file sharing for the Mac. Drag a file from your Mac to the CloudApp icon in the menubar and we take care of the rest. A link to the file will automatically be copied to your clipboard... Read more

This Week at 148Apps: February 23-27, 20...
Final February Fun at 148Apps   How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you’re looking for. The ones we love become Editor’s Choice, standing out... | Read more »
GDC 2015 – Does Not Commute is Definitel...
GDC 2015 – Does Not Commute is Definitely a Game You Should Keep an Eye on Posted by Rob Rich on March 2nd, 2015 [ permalink ] We were teased about Mediocre Games’ (Smash Hit, | Read more »
F84 Games & POW! Announce Stan Lee V...
F84 Games has announced that it is working with legendary comic creator Stan Lee and POW! Entertainment to produce Stan Lee’s Hero Command. The game will be a action adventure of heroic proportions. | Read more »
Setlyst Keeps Your Set Straight So You C...
Setlyst Keeps Your Set Straight So You Can Focus On Rocking Out. Posted by Jessica Fisher on March 2nd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Space is Vast, So Space Agency Has a Vas...
Space is Vast, So Space Agency Has a Vast New Update! Posted by Jessica Fisher on March 2nd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Size DOES Matter Review
Size DOES Matter Review By Campbell Bird on March 2nd, 2015 Our Rating: :: HARD TO BEATUniversal App - Designed for iPhone and iPad This rhythm game has a unique control scheme and performance system that make it feel like a true... | Read more »
The first ever action 3D card battler Al...
On the other hand, you probably haven’t played an action 3D card battler – until now. Step forward, All Star Legion. All Star Legion is a 3D QTE-based action RPG card battler, but fear not – the game itself isn’t as convoluted as its description.... | Read more »
Travel Back to the 1980s With the Making...
Headup Games has released a hilarious making of video for its upcoming title, Pixel Heroes: Byte & Magic. The game is a RPG/Roguelike where you control three heroes set to save the township of Pixton from an evil cult called The Sons of Dawn.... | Read more »
Heavenstrike Rivals Review
Heavenstrike Rivals Review By Campbell Bird on March 2nd, 2015 Our Rating: :: HEAVENLY STRATEGICUniversal App - Designed for iPhone and iPad Despite a few flaws, this free-to-play strategy game is a fun mix of new and old strategy... | Read more »
Get The Whole Story – Lone Wolf Complete...
Get The Whole Story – Lone Wolf Complete is Now Available and On Sale Posted by Jessica Fisher on February 27th, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »

Price Scanner via MacPrices.net

Sale! 15-inch 2.2GHz Retina MacBook Pro for $...
 Best Buy has the 15″ 2.2GHz Retina MacBook Pro on sale for $1774.99 $1799.99, or $225 off MSRP. Choose free home shipping or free local store pickup (if available). Price valid for online orders... Read more
27-inch 3.5GHz 5K iMac in stock today and on...
 B&H Photo has the 27″ 3.5GHz 5K iMac in stock today and on sale for $2299 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price available for... Read more
Apple Launches Free Web-Based Pages and Other...
Apple’s new Web-only access to iWork productivity apps is a free level of iCloud service available to anyone, including people who don’t own or use Apple devices. The service includes access to Apple... Read more
Survey Reveals Solid State Disk (SSD) Technol...
In a recent SSD technology use survey, Kroll Ontrack, a firm specializing in data recovery, found that while nearly 90 percent of respondents leverage the performance and reliability benefits of SSD... Read more
Save up to $600 with Apple refurbished Mac Pr...
The Apple Store is offering Apple Certified Refurbished Mac Pros for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The... Read more
Updated Mac Price Trackers
We’ve updated our Mac Price Trackers with the latest information on prices, bundles, and availability on systems from Apple’s authorized internet/catalog resellers: - 15″ MacBook Pros - 13″ MacBook... Read more
Apple CEO Tim Cook to Deliver 2015 George Was...
Apple CEO Tim Cook will deliver the George Washington University’s Commencement address to GWU grads on May 17, at which time he will also be awarded an honorary doctorate of public service from the... Read more
Apple restocks refurbished Mac minis for up t...
The Apple Store has restocked Apple Certified Refurbished 2014 Mac minis, with models available starting at $419. Apple’s one-year warranty is included with each mini, and shipping is free: - 1.4GHz... Read more
Save up to $50 on iPad Air 2s, NY tax only, f...
 B&H Photo has iPad Air 2s on sale for $50 off MSRP including free shipping plus NY sales tax only: - 16GB iPad Air 2 WiFi: $469.99 $30 off - 64GB iPad Air 2 WiFi: $549 $50 off - 128GB iPad Air 2... Read more
16GB iPad Air 2 on sale for $447, save $52
Walmart has the 16GB iPad Air 2 WiFi on sale for $446.99 on their online store for a limited time. Choose free shipping or free local store pickup (if available). Sale price for online orders only,... Read more

Jobs Board

*Apple* Pay Automation Engineer - iOS System...
**Job Summary** At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job Read more
Sr. Technical Services Consultant, *Apple*...
**Job Summary** Apple Professional Services (APS) has an opening for a senior technical position that contributes to Apple 's efforts for strategic and transactional Read more
Event Director, *Apple* Retail Marketing -...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global engagement strategy and team. Delivering an overarching brand Read more
*Apple* Pay - Site Reliability Engineer - Ap...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.