A developer's-eye view of Leopard
Steve Jobs had a lot of fun at Microsoft's expense over Redmond's difficulties shipping the operating systems that have become Vista and Windows Server 2008. So with Vista shipping by default on new PCs and Windows Server 2008 in a publicly downloadable beta, Apple should be catching hell from the press for making Leopard the last to arrive.
But the press never gives Apple hell about anything, and there's nothing like a fresh, closed beta of Leopard to put Mac developers in a forgiving mood.
Now that I've done my objective journalist's duty with an ineffectual finger-wag at Apple, I'll confess that, personally, having the beta release of Leopard set aside for paid members of Apple Developer Connection (ADC) suits me fine. I'm an ADC Premiere member. I'll be one of the 4,000 or so who'll get my Leopard DVD at the WWDC (Worldwide Developers Conference), but far more important is the week of hands-on education that comes with it.
That front-row seat includes a catch: Everything that Apple reveals about Leopard at WWDC 2007 is covered by a blanket nondisclosure agreement. Fortunately, Apple hasn't left many Leopard details to the imagination, so I am allowed to write at will about those features that Apple has taken public.
I have already written repeatedly, and at length, about Leopard the operating system and Leopard the user experience, but to date, I've had relatively little to say about Leopard the application platform. When it comes to the genuinely new facilities it places in the hands of developers, Leopard's riches are vast, and I'm just scratching the surface here with two standouts: Xray and Core Animation.
PART ONE: XRAY AND MORE
The spot of Leopard that gets me all charged up is DTrace, Sun Microsystems' revolutionary technology that bakes dynamic execution tracing directly into system software. Unfortunately, DTrace is as complicated to use as it is powerful. Fortunately, Mac developers enjoy an advantage that Solaris developers do not: Xray. This is no mere face transplant for DTrace. Xray is a serious developer power tool befitting the trend I see toward platform-aware, performance-oriented development. But even among developers of flat POSIX code, Xray will prove addictive.
Xray's real-time and postmortem performance profiling capabilities let you record simultaneous traces of program execution, UI interaction, memory and resource allocation, and system counters such as CPU and network utilization, with a genuinely intuitive user interface that resembles a digital audio workstation. Xray can rewind its trace logs to show you a snapshot of the precise state of your application and its running environment, all the way down to the metal.
Developers don't have to recode to take advantage of Xray, so its effects will be felt across a broad range of applications. Even those mysterious, seemingly random bugs can't hide from Xray (hence its name): Just run your app until it fails, then rewind. Such tools exist elsewhere, but none can match Xray's price tag: free.









