Tuesday, March 21, 2006

Mac OS X System Overview


Mac OS X is a uniquely powerful development platform, supporting multiple development technologies including UNIX, Java, the proprietary Cocoa and Carbon runtime environments, and a host of open source, web, scripting, database, and development technologies. Built around the integrated stack of graphics and media technologies including Core Image, Core Video, Core Audio and QuickTime, Mac OS X provides a solid foundation for developers to create great applications. Mac OS X Tiger also offers powerful user technologies like Spotlight and Dashboard that can be exploited by developers in their applications.

User Experience
Aqua is the overall appearance and behavior of Mac OS X. Aqua defines the standard appearance of specific user interface components such as windows, menus, and controls. It uses high-quality graphics and user-centric design to produce a user experience that is both functional and appealing.
Dashboard is a display and management system for Mac OS X desktop utilities, called widgets. Developers can create widgets, such as a clock or a calculator, to provide functionality that doesn't require the complexity of a large application.
Spotlight provides a new way of organizing and accessing information in on your computer by using metadata. Metadata can include familiar information such as an asset's modification date and author but it can also include keywords or other information that is custom to a particular asset. Spotlight can use this information to allow a user to find all their files or references to any particular keyword or set of terms.
Accessibility refers to programming interfaces that support the development of accessible applications and assistive technologies and applications, which help make the Macintosh accessible to all users. An assistive application interacts with an application's user interface to provide an alternative way for persons with disabilities to use the application.
Application Frameworks

Cocoa is an object-oriented application environment designed specifically for developing Mac OS X native applications. The Cocoa frameworks support rapid development and high productivity, and include a full-featured set of classes designed to create robust and powerful Mac OS X applications.

Carbon is a set of APIs that enables C and C++ developers to take advantage of Mac OS X-specific features, including an advanced user interface tool kit, an efficient event-handling mechanism, the Quartz 2D graphics library, and multiprocessing support. In addition, other industry-standard C and C++ APIs are easily available to Carbon developers, providing access to such services as the OpenGL drawing system, the Mach microkernel, and BSD operating-system services.
Java support in Mac OS X is built around the foundation of the Java 2, Standard Edition implementation, which is installed with every copy of Mac OS X and Mac OS X Server. Java developers can easily distribute their cross-platform J2SE applications as native Mac OS X applications, or they can take advantage of Mac OS X-specific Java versions of some Cocoa APIs.

Graphics and Media

QuickTime is Apple's cross-platform multimedia technology for creating and delivering video, sound, animation, graphics, text, interactivity, and music. QuickTime supports dozens of file and compression formats for images, video, and audio, including ISO-compliant MPEG-4 video and AAC audio. QuickTime applications can run on Mac OS X and all major versions of Microsoft Windows.
Core Audio
Core Audio refers to system-level services in Mac OS X that streamline the development process for audio developers and for all application developers who want to incorporate audio into their products. Core Audio provides native, state-of-the-art, multichannel audio in a manner scalable for future high-resolution formats. The Audio Unit API provides a plug-in architecture for both DSP and for MIDI-based instruments.
Core Image
Core Image is an image processing technology built into Mac OS X v10.4 that leverages programmable graphics hardware whenever possible. The Core Image application programming interface (API) provides access to built-in image filters for both video and still images and provides support for custom filters and near real-time processing.
Core Video
Video is essentially a timed sequence of images. Various QuickTime interfaces make it easy to capture and display video on Mac OS X. Core Video provides an easy way to obtain frames from any video source and provides the opportunity to filter or transform them using Core Image or OpenGL.
Mac OS X features a highly optimized and fully modern implementation of OpenGL. OpenGL is the industry standard for high performance 2D and 3D graphics, and is the primary gateway to the Graphics Processing Unit (GPU). OpenGL is specifically designed to support the rich graphics needs of scientific visualization, medical imaging, CAD/CAM, and entertainment software.
Darwin is the open source UNIX-based foundation of Mac OS X. Darwin integrates a number of technologies. Among the most important are the Mach 3.0 microkernel operating-system services, based on 4.4BSD (Berkeley Software Distribution), the high-performance networking facilities, and the support for multiple integrated file systems. Darwin also includes a number of command-line tools. Mac OS X developers can use Darwin to port UNIX/Linux applications and to create kernel extensions.

For more information on exploring the technologies in Mac OS X, see the Mac OS X
Getting Started page. (http://developer.apple.com/referencelibrary/GettingStarted/GS_MacOSX/index.html).