Tuesday, March 2, 2010

Mac Software

he APIs that Mac OS X inherited from OpenStep are not backward compatible with earlier versions of Mac OS. These APIs were created as the result of a 1993 collaboration between NeXT Computer and Sun Microsystems and are now referred to by Apple as Cocoa. This heritage is highly visible for Cocoa developers, since the "NS" prefix is ubiquitous in the framework, standing variously for Nextstep or NeXT/Sun. The official OpenStep API, published in September 1994, was the first to split the API between Foundation and Application Kit and the first to use the "NS" prefix. Apple's Rhapsody project would have required all new development to use these APIs, causing much outcry among existing Mac developers. All Mac software that did not receive a complete rewrite to the new framework would run in the equivalent of the Classic environment. To permit a smooth transition from Mac OS 9 to Mac OS X, the Carbon Application Programming Interface (API) was created. Applications written with Carbon can be executed natively on both systems. Carbon was not included in the first product sold as Mac OS X, Mac OS X Server (now known as Mac OS X Server 1.x).

Mac OS X used to support the Java Platform as a "preferred software package"-in practice this means that applications written in Java fit as neatly into the operating system as possible while still being cross-platform compatible, and that graphical user interfaces written in Swing look almost exactly like native Cocoa interfaces. Traditionally, Cocoa programs have been mostly written in Objective-C, with Java as an alternative. However, on July 11, 2005, Apple announced that "features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface."

Since Mac OS X is POSIX compliant, many software packages written for the * BSDs or Linux can be recompiled to run on it. Projects such as Fink, MacPorts and pkgsrc provide pre-compiled or pre-formatted packages. Since version 10.3, Mac OS X has included X11.app, Apple's version of the X Window System graphical interface for Unix applications, as an optional component during installation. Up to and including Mac OS X v10.4 (Tiger), Apple's implementation was based on the X11 Licensed XFree86 4.3 and X11R6.6. All bundled versions of X11 feature a window manager which is similar to the Mac OS X look-and-feel and has fairly good integration with Mac OS X, also using the native Quartz rendering system. Earlier versions of Mac OS X (in which X11 has not been bundled) can also run X11 applications using XDarwin. With the introduction of version 10.5 Apple switched to the X.org variant of X11.

No comments:

Post a Comment