Introduction
Technology Overview
Mac OS X provides a robust set of tools and technologies to aid you in creating full-featured applications in a short amount of time. The application environments of Mac OS X provide both object-oriented and procedural interfaces supporting development in industry-standard languages such as C, C++, Objective-C, and Java. Whether you have an existing code base or are starting from scratch, there are application environments to help you create full-featured applications quickly.
The documents in Mac OS X Documentation fall into two types: overviews and systemwide concept documents. The overview documents help orient you to the system and provide background information about the application environments and tools you can use to develop software. The systemwide concept documents provide conceptual information that is relevant to all developers, regardless of the application environment they use.
Start Here
Developers who are new to Mac OS X are advised to spend a little time getting familiar with the conventions and architecture of the platform. To do so, you should read the following:
The Mac OS X topic page to become familiar with the latest developments in Mac OS X.
Mac Technology Overview to get an overview of the Mac OS X architecture, software development opportunities, and the technologies available for you to use in your software.
What's New in macOS for information on the latest features introduced in Mac OS X.
These documents are essential reading before you start writing any code.
Choose a Learning Path
If you’re new to Mac OS X development, you want to become familiar with the tools and technologies available for application development. If you’re an existing developer, you may want to learn more about some systemwide concepts.
Learning About Application Technologies
Once you understand the basic structure of Mac OS X and its technologies, you can expand your knowledge by reading the high-level technology overviews. These overviews provide more depth and orient you toward how you could use that technology in your application.
If you prefer using object-oriented interfaces to develop software, read Cocoa Fundamentals Guide.
If you prefer using procedural interfaces to develop software, read Carbon Overview.
If you’re a Java developer, read Java Development Guide for Mac for an overview of Java support.
If you’re a multimedia application developer, read QuickTime Overview for information about integrating QuickTime into your applications.
If you’re a UNIX developer, read Porting UNIX/Linux Applications to OS X for information on how to build UNIX applications on Mac OS X.
If you are familiar with AppleScript and want to use scripts to build a standalone application, read AppleScript Studio Programming Guide.
If you’re interested in future Mac OS X technologies, become an ADC member to receive information about future Mac OS X releases; learn more at http://developer.apple.com/membership/.
Learning About Apple Development Tools
Mac OS X provides a suite of developer tools, including design tools, analysis tools, packaging tools, compilers, and debuggers. The Xcode Tools CD contains all of the tools you need to get started developing software for Mac OS X. This CD is included with all shipping Macintosh computers and with retail copies of Mac OS X. The contents of the CD can also be downloaded from the ADC website (http://connect.apple.com).
For an overview of the available tools and examples of how to use them, read Mac Technology Overview.
For information on how to create universal binaries using Xcode, read Universal Binary Programming Guidelines, Second Edition.
For information about using Xcode, read A Tour of Xcode.
For information about using command-line tools, read Mac OS X Man Pages.
Learning More About Systemwide Concepts
Mac OS X includes many technologies that are not specific to a particular application environment. In the course of development, you may encounter these technologies and want to know more information about them.
If you’re unfamiliar with bundles, read Bundle Programming Guide to understand the Mac OS X bundle mechanism and how it is used to distribute applications and other types of software.
If you want to create code libraries, read Framework Programming Guide to learn about the framework mechanism and how it is used to distribute libraries on Mac OS X.
If your code uses shared system resources, read Multiple User Environment Programming Topics to learn how to protect your resources from accidental intrusion by users in other login sessions.
If you want guidelines on how to use and access the file system, read File System Overview.
Next Steps
The Mac OS X Reference Library includes the following high-level resource pages, which can be bookmarked for easy access:
Apple’s developer documentation on Mac OS X.
Copyright © 2003, 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-12-05