
Mac OS X is a uniquely powerful development platform, bringing a
32-bit and 64-bit architecture and multiprocessor capability to the
desktop and server arenas. It provides an extremely productive
high-level programming environment, Cocoa, combined with the full power
of real UNIX®, as well as a host of open source web, scripting,
database, and development technologies. The built-in Xcode tools,
combining time-tested stability and performance, standards-based
technologies, and a remarkable user interface, make Mac OS X an
amazingly multifaceted development platform. Mac OS X delivers
revolutionary technologies like Spotlight, Dashboard, Automator, Core
Data, Core Animation, Core Image, and many others. These exciting
additions to the modern, UNIX-based foundation make Mac OS X the most
advanced operating system available.
Outstanding User Experience
Mac OS X includes a number of easy-to-use technologies that play a dual role as great applications and system services, allowing developers to
enhance their applications with iChat Theater, Time Machine, Spotlight, Dashboard, Automator,
and VoiceOver.
iChat Theater takes instant messaging far beyond simple text—into the world of multimedia, allowing you to to share audio and video. As a developer, you too can access these features and create applications that intelligently determine who is online, share video, and control iChat through AppleScript.
Time Machine is the new file backup and recovery technology on Mac OS X. As a developer, you can take advantage of Time Machine to set the backup policy for files created by your application.
Spotlight is an advanced search technology that is tightly
integrated with the file system, ensuring that a file is properly indexed with every
access. You can use Spotlight queries from within your application, and if your application uses unique file types, you can provide a Spotlight plug-in that handle your files.
Dashboard brings to Mac OS X a unique class of mini-applications called
Widgets, which are perfect for
working with small amounts of data or interacting with other
applications, both on your desktop and across the web. Widgets can easily be created using Dashcode and WebClip, which are bundled into Mac OS X. Or your can roll your own using a mixture of HTML, JavaScript, and CSS.
Automator helps you streamline repetitive everyday manual tasks quickly,
efficiently, and easily without programming. By combining tasks, you can quickly and easily create complex, repeatable workflows that do more than any task can accomplish on its own. You can invoke tasks and workflows from within your application, which can eliminate some code and make it easier to add features.
Mac OS X also includes VoiceOver, the spoken interface designed for those with visual and learning disabilities. For developers, the Accessibility API in Mac OS X helps you build applications that are accessible to assistive technologies, so you can bring your application to as broad an audience as possible.
Rock-Solid Architecture
Mac OS X provides outstanding stability and performance. It starts with a 64-bit, open source UNIX core. Apple integrated the widely-used FreeBSD 5 UNIX
distribution with the Mach 3.0 microkernel to deliver key
functionality and a solid foundation. Preemptive multitasking, symmetric multiprocessing (SMP), and protected memory form the cornerstones of this foundation.
Mac OS X provides 64-bit addressing across the entire operating system—not only under the hood, but also in the graphics and user interface layers. This provides some serious horsepower for the
next generation of data-intensive applications, including gene sequencing, advanced medical imaging, and geospatial applications. Mac OS X also runs 32-bit applications natively, side-by-side with 64-bit applications.
For developers, this 64-bit architecture means fast computation speed based on an optimized CPU instruction set and more registers, a very large address space (measured in Terabytes), and the ability to use lots of RAM. Plus, the free developer tools that ship with every copy of Mac OS X can build 64-bit applications, while still providing a 32-bit option for compatibility.
Modern multiprocessor hardware requires multiprocessor-ready software, and Mac OS X Leopard scales to 8 CPU cores and beyond. Cocoa's new NSOperation class is there to help your application scale too, and also take advantage of the new hardware.
Best Graphics on a Desktop
Mac OS X is built around a powerful, integrated stack of graphics
technologies, including OpenGL, Core Animation, and Core Image. These provide a solid foundation for application developers
to create great applications. Mac OS X's multithreaded graphics layer handles application windowing, 2D and 3D
drawing, animation, and multimedia. Together, the subsystems of the graphics layer provide fast, elegant graphics to the operating system and to your application, making possible cutting-edge user interface features.
The stunning visual effects that you see in the Mac OS X Desktop are generated using the very same technologies available to your application. For example, the Desktop uses Core Image to provide the mirrored shelf under the Dock, shadowed icons, and the transparent menu bar. The Dock uses Core Animation for the popup behavior of Stacks, those piles of files that expand into a stack or grid when clicked. These are just a few examples of the cool eye candy you can create to bump up the "Wow!" factor in your application.
Time-based graphics on Mac OS X are provided by QuickTime 7, which
enables developers to manipulate, enhance, and store video, sound,
animation, graphics, text, music, and even 360-degree virtual reality. And for web streaming, QuickTime gets the job done in real-time.
Runtime Flexibility Built on Powerful Frameworks
Mac OS X provides several runtime environments, all of which integrate
under a single desktop environment. Whether you prefer an object-oriented application framework, procedural APIs, a highly-optimized and tightly
integrated implementation of Java SE, BSD UNIX APIs and libraries, or X11, you can run it all on the Mac OS X desktop.
To ease your development effort, Mac OS X provides frameworks, which are API collections that provide consistent access to
technology-specific functionality. Frameworks cover
everything from user interface and event handling, to data modeling, image processing, and audio signal processing.
The Core Foundation API provides fundamental data types and essential services to applications, runtime environments, and system frameworks. Cocoa builds on Core Foundation to provide the Foundation and Application Kit frameworks, which serve as the building blocks of all Cocoa applications.
Cocoa also includes specialized, high-level frameworks that let you add cool features to your application. For example, with Core Image you can create
real-time image processing solutions that take full advantage of the latest hardware. Core Animation lets you layer Core Image effects and combine media types, such as QuickTime and OpenGL, into a smooth animation experience. Core Audio defines the software technologies at the heart of the user audio experience on Mac OS X, handling not only playback, but also format conversion, reading and writing of audio data, and effects. The Core Data framework allows you to build well-factored applications by providing a strong, flexible, and powerful data model framework. For serious number-crunching, the Accelerate framework enables your application to process data faster, whether you're performing vector math, linear algebra, signal processing, or image processing.
Advanced Developer Tools
Mac OS X provides you with a full suite of free developer tools to
prototype, compile, debug, analyze, and optimize your applications, speeding up
your development cycle. Xcode 3 includes a robust Integrated Development Environment (IDE) for writing applications, libraries, and drivers, and a complete set of developer
documentation. Underlying Xcode is GCC 4, an Apple-optimized version of the popular open source compiler,
plus the GNU Debugger (GDB). Xcode also includes Interface Builder, an easy-to-use graphical editor for designing and
managing your application's user interface. Whether you code in Objective-C, C/C++, or another popular language, Xcode can handle it.
Xcode's performance tools, including Instruments and Shark, help you analyze and debug
your code, gather metrics, identify and eliminate bottlenecks in your
code, and provide a mental model of the inner workings of your code,
giving you the information you need to make your program run faster.
If you prefer the ease of a scripting language, AppleScript Studio lets you quickly create native Mac OS
X applications that execute AppleScript. Your applications can support the Aqua user interface
and control scriptable applications as well as scriptable parts of the
operating system.
Mac OS X works with open source tools, too. From Ant to Ruby, Python, Perl, and PHP, open source tools and languages let you work faster on Mac OS X.
Internationally Savvy
Mac OS X has always been friendly to an international audience. Every major release of Mac OS X ships simultaneously in sixteen
languages. To support this capability, Mac OS X provides conversion utilities to manage locales, dates,
currencies, and measurement systems in a consistent manner. Mac OS X includes Unicode tools to handle text systems used around the world. And, by packaging an application's executable code, libraries and resource files
into single binary, both internationalized and
localized software versions can launch dynamically from a single
application icon.
Conclusion: The Uniquely Powerful Platform
Finally, Mac OS X is not only a great development platform, but it's also fun to use when you're not programming. You only need one machine to code in Cocoa, UNIX, and many other languages, as well as manage your digital lifestyle with industry-leading applications like iTunes. Mac OS X seamlessly and elegantly bridges the modern developer's professional and personal lifestyle on one powerful machine.
For More Information
Get to know the contents of the Apple Developer Connection at developer.apple.com to learn more
about Mac OS X and what advantages it holds for developers. On the ADC
website you will find technical documents, technical notes, question
and answer docs, sample code, feature articles, and Software Development
Kits. Apple also supports mailing lists for many Mac OS X technologies,
giving you access to a community of knowledgeable and helpful
developers.
Updated: 2007-10-26
|