Mountain Lion focuses on Cocoa, drops X11 and deprecates Carbon CoreIn a continuation of its efforts to prune OS X of bundled support for alternative platforms to instead focus on Cocoa, Apple's Mountain Lion depreciates more Carbon APIs and drops X11, although users will still be able to install support for running X Window System apps.
X11 gets Javaed
Last year's OS X Lion dropped bundled support for Java Development Kit, which Apple had maintained (albeit often behind the mainline releases of Java) for the Mac throughout the history of OS X's development. Instead, the company shifted its resources to supporting the open source development of Java support for Macs via the OpenJDK project.
Apple is now doing something similar for X11, an environment used to host X Window System software (graphical Unix apps that do not supply a native Mac interface). Under Mountain Lion, the X11 package Apple formerly offered as an optional install is now missing. Rather than offering to install the optional X11 package, Mountain Lion now prompts users to install open source support for X11 software on their own.
Similar to its delegation of the maintenance of Mac Java to the open source community, Apple will continue to support XQuartz, the open source project that develops the software Apple's own X11 package currently uses.
As with spinning off Java, the X11 shift allows Apple to focus on its own Cocoa software while still offering an option for Mac users with a need to run non-native Mac software. While the OpenJDK's first full Mac build of Java SE7 has yet to be released, XQuartz already offers a ready to use X11 package.
The software made available by XQuartz directly is also newer than the X11 package Apple has bundled with OS X since the 10.5 Tiger release. By spinning off X11 to the open source community, users will be able to obtain the newest software builds on their own without having to worry about it being overwritten by OS Software Update patches.
The focus on Cocoa
OS X is based directly upon the NeXTSTEP operating system and development environment, technologies that Apple branded as "Yellow Box" and then "Cocoa" when it began its efforts to transition Mac users and developers to the more sophisticated and modern APIs after acquiring NeXT at the end of 1996.
Given Apple's rough financial shape and its poor track record at delivering new software according to plan, many developers were hesitant to invest in learning and using the new Cocoa, particularly those who were already heavily invested in software dependent upon the Classic Mac OS, a set of APIs Apple referred to as "Blue Box" and then "Carbon" as it worked to create a composite operating system capable of running both.
Apple also tried to broaden adoption for the new Mac OS X by including support for Sun's Java and later added official X11 support, hoping to make the Mac hospitable to any available software. Pundits even began to speculate that Apple might release a "Red Box" capable of hosting Microsoft's Windows software.
However, when Apple released iPhone in 2007 it did so using only Cocoa APIs, forcing developers to unify their efforts on a single development platform. Apple didn't include support for Java ME, then the largest mobile software platform, and invested no efforts to promote mobile development using Adobe Flash or Flash Lite on its new smartphone. In contrast, Google embraced and extended Java ME with Android, and subsequently promoted it as the premier platform for (the now defunct) mobile Flash.
The incredible success of the iOS platform, which is now several times larger than OS X, has enabled Apple to refocus its ongoing development of OS X on Cocoa, enabling the company to finally deprecate more and more of the old Carbon. That process really got started in 10.5 Leopard when the company released support for 64-bit user interface APIs exclusively for Cocoa.
In early 2008, Adobe and other developers complained that Apple's decision not to release the same 64-bit support for Carbon would delay the delivery of their 64-bit apps. Even Apple wasn't able to deliver a 64-bit version of Final Cut Pro until this year.
Apple's persistent pursuit of unifying OS X development around Cocoa (along with its termination of support for PowerPC code) has resulted in a rapid transition in Mac software to modern Cocoa and Intel 64-bit apps. Apple's previous transition from 68K processors of the 80s dragged on for a decade with emulated code, and Apple similarly maintained Carbon support for about a decade longer than it originally wanted.