All of that sounds inviting, but how does one get an application from the 32-bit world to 64? The same way you get from PowerPC to Intel: Let Xcode, OS X, and Apple worry about it. Apple’s Universal Binary executable format folds multiple native architecture types into a single application file with one installer. You can develop and debug your app once on a 64-bit Mac Pro, and then spin out your app to target 32-bit PowerPC, 64-bit PowerPC, 32-bit Intel, and 64-bit Intel in a single executable. Or start with any one of the other architectures and target the other three. You ship your application with one installer, confident that it will work exactly the same way on every Mac that runs Leopard. The OS X loader automatically picks the correct architecture out of the executable at runtime, and the frameworks optimize your application for the user’s system by default.
There’s another reason that Apple wants 64-bit all the way down the line: Apart from speed, Apple wants OS X to be taken seriously as a commercial Unix, right down to equipping Darwin to qualify for the Unix trademark. Apple hopes to raise Darwin to the stature of Solaris, AIX, and HP/UX. If Apple comes up short in its bid for Unix certification for Leopard, it has an ally in Sun Microsystems, which has open-sourced most of its Solaris System V Unix and which makes widespread use of Mac client systems internally. In other words, while Unix certification for Leopard is not a done deal, Apple has a ready base of thoroughly certified code from which to borrow. Leopard will be Unix. Your software should wear that label with pride.
Apple is using the advent of Leopard’s 64-bit pervasiveness to prepare the way for the gradual de-emphasis of the Carbon C API. For example, Apple is not porting the QuickTime, QuickDraw, and Sound Manager C APIs to 64-bit. Instead, it is supplanting them with the 64-bit Objective-C framework's QuickTime Kit, Cocoa, and Core Audio. It’s reasonable to assume that the OS and API facilities Apple chooses not to bring forward to 64-bit are heading for deprecation.
Click for larger view.