With its transitions from Mac OS to OS X, PowerPC to Intel, and Panther to Tiger under its belt, Apple is all about moving on. Now it’s the developers’ turn to move on. If you haven’t done it yet, it’s time to bid farewell to C and Carbon, and to embrace Objective-C and Cocoa for your GUI applications. It’s time to count on Universal Binaries, not Rosetta (Apple’s PowerPC translator for Intel Macs), to get your software out to the whole Mac market, which will soon be dominated by 64-bit Intel Macs. If you haven’t yet broken the habits of jamming new icons into the menu bar and turning every convenience utility into a CPU-sapping background process with its own always-on-top window, you should get to know Dashcode. If your application terminates because it can’t locate a critical file, learn the ways of Time Machine. And if, when you think of Web applications, your mind automatically zeroes in on Java, you might look at Ruby on Rails as a far simpler, much lighter-weight open source alternative that’s remarkably well appointed.
Leopard’s development tools will include an SDK that targets Tiger, and as far as Apple is concerned, Tiger is as far back as developers need to reach to accommodate users who don’t jump on Leopard as soon as it ships in October. Leopard carries forward the characteristics first seen in Tiger, including Intel support, the 64-bit Darwin kernel, Universal Binaries (which combine 32- and 64-bit PowerPC and Intel executables into a single file), the Automator graphical scripting environment, Core frameworks for such essentials as multimedia and databases, and the Dashboard HTML widget panel. To create native Mac applications that reach back to Panther (OS X 10.3), you’ll not only be making more work for yourself, you’ll be depriving users of the Tiger characteristics that define the thoroughly modern Macintosh.
Now you're 64
One of the clearest lines of demarcation separating Leopard from Tiger is 64-bit. Tiger has some 64-bit capabilities, but just enough to satisfy Apple’s old message that 64-bit is all about accessing more than 4GB of RAM. Having a product line tilted heavily toward 32-bit systems, Apple characterized the need for 64-bitness as rare and advised developers to apply it sparingly. For Leopard, Apple’s message has shifted dramatically: Leopard is 64-bit from stem to stern, from kernel to presentation, and developers have the green light to leverage 64-bit platform features. At the 2007 Worldwide Developers Conference, Steve Jobs pointed out that “practically all Macs are 64-bit” (only the Mac Mini remains 32-bit) and presented a demo showing that demanding applications run markedly faster as 64-bit software. The performance advantage is not just about memory: 64-bit gives applications access to double-wide (128 bit) CPU registers and a much larger total register set for speeding complex calculations and reducing the number of trips that a 64-bit optimized application must make to slower RAM.