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

Chromium 45.0.2454.85 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 45.0.2454.85: Note: Does not contain the "... Read more
OmniFocus 2.2.5 - GTD task manager with...
OmniFocus helps you manage your tasks the way that you want, freeing you to focus your attention on the things that matter to you most. Capturing tasks and ideas is always a keyboard shortcut away in... Read more
iFFmpeg 5.7.1 - Convert multimedia files...
iFFmpeg is a graphical front-end for FFmpeg, a command-line tool used to convert multimedia files between formats. The command line instructions can be very hard to master/understand, so iFFmpeg does... Read more
VOX 2.6 - Music player that supports man...
VOX is a beautiful music player that supports many filetypes. The beauty is in its simplicity, yet behind the minimal exterior lies a powerful music player with a ton of features and support for all... Read more
Box Sync 4.0.6567 - Online synchronizati...
Box Sync gives you a hard-drive in the Cloud for online storage. Note: You must first sign up to use Box. What if the files you need are on your laptop -- but you're on the road with your iPhone? No... Read more
Carbon Copy Cloner 4.1.4 - Easy-to-use b...
Carbon Copy Cloner backups are better than ordinary backups. Suppose the unthinkable happens while you're under deadline to finish a project: your Mac is unresponsive and all you hear is an ominous,... Read more
OmniGraffle Pro 6.3.1 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more
Monosnap 3.1.2 - Versatile screenshot ut...
Monosnap lets you capture screenshots, share files, and record video and .gifs! Capture: Capture full screen, just part of the screen, or a selected window Make your crop area pixel perfect with... Read more
Alfred 2.7.2 - Quick launcher for apps a...
Alfred is an award-winning productivity application for OS X. Alfred saves you time when you search for files online or on your Mac. Be more productive with hotkeys, keywords, and file actions at... Read more
Microsoft Remote Desktop 8.0.19 - Connec...
With Microsoft Remote Desktop, you can connect to a remote PC and your work resources from almost anywhere. Experience the power of Windows with RemoteFX in a Remote Desktop client designed to help... Read more

We're Sorry to Report that Moonrise...
Moonrise is a very promising-looking, Pokemon-esque monster collecting and battling game that we were really looking forward to reviewing, but unfortunately it looks like that's never going to happen. [Read more] | Read more »
The Latest Update for The Sims FreePlay...
Commerce has gotten a little more active with the newest update for The Sims FreePlay, making Sunset Mall more of a hangout than ever before. [Read more] | Read more »
This Week at 148Apps: August 24-28, 2015
The Apps of August With 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 »
NASCAR in Real Racing 3? Sure, Why Not?
I have to give Firemonkeys credit - it's very cool of them to add NASCAR to Real Racing 3 via an update rather than making a separate game for it. But that's a different discussion for another time; for now let's sit back and enjoy driving in... | Read more »
The nuyu is an Inexpensive Activity Moni...
Today, Health o Meter nuyu has announced a series of health and fitness-related products, including the aforementioned activity monitor along with a wireless scale. All at a decent pricepoint, no less. [Read more] | Read more »
The Makers of Overkill are Trying Someth...
Craneballs, the studio responsible for the Overkill series, is taking a little break from all that violence (a little break) to bring us Cube Worm - a 3D take on one of the most classic PC/calculator games in existence. [Read more] | Read more »
The Sandbox Welcomes Cutethulu in its La...
Another month, another update to Pixowl's The Sandbox. This time players can say hello to "Cutethulu" - an adorable little rendition of perhaps the most well known (and infamous) of the Elder Gods. [Read more] | Read more »
ReBoard: Revolutionary Keyboard (Utilit...
ReBoard: Revolutionary Keyboard 1.0 Device: iOS Universal Category: Utilities Price: $1.99, Version: 1.0 (iTunes) Description: Do everything within the keyboard without switching apps! If you are in WhatsApp, how do you schedule a... | Read more »
Tiny Empire (Games)
Tiny Empire 1.1.3 Device: iOS Universal Category: Games Price: $2.99, Version: 1.1.3 (iTunes) Description: Launch cannonballs and blow tiny orcs into thousands of pieces in this intuitive fantasy-themed puzzle shooter! Embark on an... | Read more »
Astropad Mini (Productivity)
Astropad Mini 1.0 Device: iOS iPhone Category: Productivity Price: $4.99, Version: 1.0 (iTunes) Description: *** 50% off introductory price! ​*** Get the high-end experience of a Wacom tablet at a fraction of the price with Astropad... | Read more »

Price Scanner via MacPrices.net

eFileCabinet Announces SMB Document Managemen...
Electronic document management (EDM) eFileCabinet, Inc., a hosted solutions provider for small to medium businesses, has announced that its SecureDrawer and eFileCabinet Online services will be... Read more
WaterField Designs Unveils American-Made, All...
San Francisco’s WaterField Designs today unveiled their all-leather Cozmo 2.0 — an elegant attach laptop bag with carefully-designed features to suit any business environment. The Cozmo 2.0 is... Read more
Apple’s 2015 Back to School promotion: Free B...
Purchase a new Mac or iPad at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free,... Read more
128GB MacBook Airs on sale for $100 off MSRP,...
B&H Photo has 11″ & 13″ MacBook Airs with 128GB SSDs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 1.6GHz/128GB MacBook Air: $799.99, $100 off MSRP... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
The Apple Store has Apple Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.... Read more
27-inch 3.2GHz iMac on sale for $1679, save $...
B&H Photo has the 27″ 3.2GHz iMac on sale for $1679.99 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Apple and Cisco Partner to Deliver Fast-Lane...
Apple and Cisco have announced a partnership to create a “fast lane” for iOS business users by optimizing Cisco networks for iOS devices and apps. The alliance integrates iPhone with Cisco enterprise... Read more
Apple offering refurbished 2015 13-inch Retin...
The Apple Store is offering Apple Certified Refurbished 2015 13″ Retina MacBook Pros for up to $270 (15%) off the cost of new models. An Apple one-year warranty is included with each model, and... Read more
Apple refurbished 2015 MacBook Airs available...
The Apple Store has Apple Certified Refurbished 2015 11″ and 13″ MacBook Airs (the latest models), available for up to $180 off the cost of new models. An Apple one-year warranty is included with... Read more
21-inch iMacs on sale for up to $120 off MSRP
B&H Photo has 21″ iMacs on sale for up to $120 off MSRP including free shipping plus NY sales tax only: - 21″ 1.4GHz iMac: $999.99 $100 off - 21″ 2.7GHz iMac: $1199.99 $100 off - 21″ 2.9GHz iMac... Read more

Jobs Board

Simply Mac *Apple* Specialist- Repair Techn...
Simply Mac is the greatest premier retailer of Apple products expertise in North America. We're looking for dedicated individuals to provide personalized service and Read more
Simply Mac *Apple* Specialist- Service Repa...
Simply Mac is the greatest premier retailer of Apple products expertise in North America. We're looking for dedicated individuals to provide personalized service and Read more
*Apple* Desktop Analyst - KDS Staffing (Unit...
…field and consistent professional recruiting achievement. Job Description: Title: Apple Desktop AnalystPosition Type: Full-time PermanentLocation: White Plains, NYHot Read more
Simply Mac- *Apple* Specialist- Store Manag...
Simply Mac is the largest premier retailer for Apple products and solutions. We're looking for dedicated individuals with a passion to simplify and enhance the Read more
*Apple* Evangelist - JAMF Software (United S...
The Apple Evangelist is responsible for building and cultivating strategic relationships with Apple 's small and mid-market business development field teams. This Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.