Appendix B. Moving from HyperCard to AppleScript
Back in the days before DVDs, iPods, and take-out sushi, everyday Mac
fans used HyperCard to write simple automation programs. Sure,
HyperCard couldn't command
other programs, but its simplicity and power
made HyperCard a favorite tool for thousands of budding programmers.
In addition, HyperCard was one of the first programming tools to let
people build their program's interface through
drag-and-dropmore than a decade before Interface Builder came
along.
HyperTalk, the programming language for
HyperCard, was highly regarded for its English-like syntax and
shallow learning curve. And even hard-core programmers respected
HyperCard stacks (interfaces bundled with code)
for their small file size.
Unfortunately, Apple stopped supporting HyperCard soon before
releasing Mac OS X. If you happen to be one of the Mac fans who
depends on HyperCard for everyday work, therefore,
you're left with only a few choices:
Continue using HyperCard in Mac OS
X's Classic mode.
Classic is Apple's
buzzword to describe Mac OS 9 programs running in Mac OS X.
Unfortunately, since HyperCard wasn't designed for
Mac OS X, using HyperCard in Classic is likely to result in a major
slowdown of your code. Plus, you'll continue to see
HyperCard's old, gray, Mac OS 9-style
windowsa scourge on the attractive interface of Mac OS X. Buy a Mac OS X program that can open HyperCard
stacks. Such programs include SuperCard ($180, www.supercard.us) and Revolution ($150-$900
depending on license, http://revolution.runrev.com/).
Unfortunately, neither program is perfect at
importing HyperCard stacks into Mac OS X, so you may have to spend a
while updating sections of code to be Mac OS X-compatible. Rewrite your HyperCard stacks with
AppleScript. Since AppleScript and HyperTalk are fairly
similar languages, you can rewrite your HyperCard stacks in
AppleScript pretty easily.
 |
If your HyperCard stacks are full of interface elements,
you'd probably be better off rewriting your stacks
in AppleScript Studio (Chapter 15) than simply reprogramming your stacks in
Script Editor. That's because plain
ol' AppleScript doesn't allow for
complex interfaces.
On the other hand, if your HyperCard stacks are simple (say, just
based around a button or two) it's easier to rewrite
your code in Script Editor than to deal with the complexities of
Xcode and Interface Builder (Section 15.2).
|
|
If you decide to pursue the converting-to-AppleScript route,
you'll be glad to have the rest of this appendix at
your side. The following pages address the most common syntax
differences between HyperTalk and AppleScript, so you can bring your
stale code from the confines of Mac OS 9 to the bright, shining
future of Mac OS X.
 |
The rest of this appendix assumes that you know how to program in
HyperCard proficiently. There's no explanation of
what specific HyperTalk commands do, because you can find in-depth
explanations in a book like The HyperTalk Language Guide
(Addison Wesley, 1988).
If you don't know HyperCard,
though, don't sweat it. HyperCard is unsupported by
Apple, and there's little reason to create new
programs with it unless you're nostalgic for the era
of black and white Macs.
|
|
 |