Skip to main content

Mac OS X System Overview

Introduction

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
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.
(
http://developer.apple.com/ue/)
Dashboard
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.
(
http://developer.apple.com/macosx/dashboard.html)
Spotlight
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.
(
http://developer.apple.com/macosx/spotlight.html)
Accessibility
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.
(
http://developer.apple.com/accessibility/)
Application Frameworks
Cocoa

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.
(
http://developer.apple.com/cocoa/)

Carbon
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.
(
http://developer.apple.com/carbon/)
Java
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.
(
http://developer.apple.com/java/)

Graphics and Media
QuickTime

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.
(http://developer.apple.com/quicktime/)
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.
(
http://developer.apple.com/audio/)
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.
(
http://developer.apple.com/graphicsimaging/)
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.
(
http://developer.apple.com/graphicsimaging/)
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.
(
http://developer.apple.com/graphicsimaging/opengl/)
Darwin
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.
(
http://developer.apple.com/opensource/)

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).

Comments

Popular posts from this blog

Comma separated list of values of single Database table field

Many times you need to create a comma seperated list of values in a table. Here is a line of T-SQL solution to get comma separated list of values of single field of a database table. DECLARE @commaSeparatedVal AS VARCHAR(MAX); SELECT @commaSeparatedVal = ISNULL(@commaSeparatedVal +',','') + CONVERT(VARCHAR,[SKU]) FROM PRODUCT PRINT @commaSeparatedVal

Why SharePoint 2007?

It is rare for a technology product to attract as much attention as SharePoint has in recent years. The industry has historically paid little attention to new product suites, particularly those related to web design. SharePoint products and technologies, however, have managed to excite and rejuvenate industry followers, causing them to take notice of the ease of use, scalability, flexibility, and powerful document management capabilities within the product. A number of organizational needs have spurred the adoption of SharePoint technologies. Some of the most commonly mentioned requirements include the following: A need for better document management than the file system can offer —This includes document versioning, check-out and check-in features, adding metadata to documents, and better control of document access (by using groups and granular security). The high-level need is simply to make it easier for users to find the latest version of the document or documents they need to do th

Creating Custom SharePoint Timer Jobs

In previous versions of SharePoint (or other platforms), if you had some task you wanted to perform on a scheduled basis, you'd have to either create a console EXE and schedule it to run via Windows Task Scheduler (ala AT.EXE) or create a Windows Service that went to sleep for a period of time. In order to install (and maintain) these tasks, you had to have console access to your production SharePoint (or other app) servers... something IT or admins wouldn't easily hand out. Addressing this issue, Microsoft has added something called timer jobs to Microsoft Office SharePoint Server (MOSS) 2007. Microsoft uses timer jobs to do things like dead web cleanup (purging unused sites from site collections) among others. To see what other timer jobs are out there, from Central Administration , click Operations and then Timer Job Definitions . Not only does Microsoft use timer jobs in MOSS, but you can create your own custom timer jobs to do your own scheduled tasks. What's nice a