Mac OS X Development Tools Overview

Mac OS X Development Tools Overview

Mac OS X Development Tools Overview February 25, 2004 Java and all Java-based trademarks are Apple Computer, Inc. trademarks or registered trademarks of Sun © 2003, 2004 Apple Computer, Inc. Microsystems, Inc. in the U.S. and other All rights reserved. countries. OpenGL is a trademark of Silicon Graphics, No part of this publication may be Inc. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, PowerPC and and the PowerPC logo are mechanical, electronic, photocopying, trademarks of International Business recording, or otherwise, without prior Machines Corporation, used under license written permission of Apple Computer, Inc., therefrom. with the following exceptions: Any person X Window System is a trademark of the is hereby authorized to store documentation Massachusetts Institute of Technology. on a single computer for personal use only Simultaneously published in the United and to print copies of documentation for States and Canada. personal use provided that the documentation contains Apple’s copyright Even though Apple has reviewed this manual, APPLE MAKES NO WARRANTY OR notice. REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, The Apple logo is a trademark of Apple ITS QUALITY, ACCURACY, Computer, Inc. MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS Use of the “keyboard” Apple logo MANUAL IS SOLD ªAS IS,º AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE (Option-Shift-K) for commercial purposes RISK AS TO ITS QUALITY AND ACCURACY. without the prior written consent of Apple IN NO EVENT WILL APPLE BE LIABLE FOR may constitute trademark infringement and DIRECT, INDIRECT, SPECIAL, INCIDENTAL, unfair competition in violation of federal OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT OR and state laws. INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages. No licenses, express or implied, are granted THE WARRANTY AND REMEDIES SET with respect to any of the technology FORTH ABOVE ARE EXCLUSIVE AND IN described in this document. Apple retains LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, all intellectual property rights associated or employee is authorized to make any with the technology described in this modification, extension, or addition to this document. This document is intended to warranty. assist application developers to develop Some states do not allow the exclusion or limitation of implied warranties or liability for applications only for Apple-labeled or incidental or consequential damages, so the Apple-licensed computers. above limitation or exclusion may not apply to you. This warranty gives you specific legal Every effort has been made to ensure that rights, and you may also have other rights which the information in this document is vary from state to state. accurate. Apple is not responsible for typographical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, AppleScript, AppleScript Studio, Aqua, Carbon, Cocoa, Mac, Mac OS, Macintosh, MPW, QuickTime, Sherlock, and WebObjects are trademarks of Apple Computer, Inc., registered in the United States and other countries. Finder, Quartz, and Xcode are trademarks of Apple Computer, Inc. Objective-C is a trademark of NeXT Software, Inc. Contents Chapter 1 Introduction 9 Who Should Read This Document 9 Organization of This Document 10 See Also 10 Chapter 2 Getting Started 13 About Xcode 13 The Mac OS X Application Environments 14 Carbon 15 Cocoa 15 BSD and Darwin 16 Java 16 Classic 17 Development Projects and System Architecture 17 What to Read Next 18 Developers New to the Macintosh 18 Experienced Macintosh Developers, Pre±Mac OS X 20 Macintosh Developers With a Non-Apple IDE 21 Tool Developers 21 Plug-in Developers 21 Developers of Drivers and System Software 22 Pure Java Developers 22 Solutions Providers 23 QuickTime Developers 24 Chapter 3 The Apple Integrated Development Environment 25 Features of the Xcode Application 25 Creating a Project 26 Writing an Application 27 Carbon-Based Applications 27 Cocoa-Based Applications 28 Using Interface Builder to Add a UI to a Program 30 3 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. CONTENTS Chapter 4 Development Process 33 Designing an Application 34 Designing a User Interface 35 Creating Source Code 36 Localization 36 Documenting Code 37 Help 37 Property Lists 37 Icons 37 Graphics 37 Source-Code Utilities 38 Version Control 38 Debugging and Tuning 38 Memory Use 39 Efficiency of Execution 39 Graphics 40 Packaging 40 Copying and Moving Files 41 Libraries 41 Chapter 5 Notes for Specific Project Types 43 Scripting 43 Creating Frameworks 44 Standard Apple Plug-in Projects 45 Tool Projects 45 Java 46 Java Remote Interface 46 Debugging Java Applications 47 Packaging Java Applications 47 Kernel Extensions 47 Networking Extensions 48 I/O Kit Drivers 48 WebObjects 49 Appendix A Tool Descriptions 51 Creating Source Code 51 Localization Tools 51 Documentation and Help Tools 52 Compilers, Linkers, Build Tools 52 Library Utilities 53 Code Utilities 54 Version Control 56 RCS 56 4 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. CONTENTS CVS 56 Comparing Files 57 Debugging and Tuning 57 General 57 Memory 58 Graphics 59 Examining Code 59 Performance 60 KEXTs, Drivers, and Instruction Traces 61 Packaging 62 Scripting 63 Interpreters and Compilers 63 Script Language Converters 64 Perl Tools 64 Parsers and Lexical Analyzers 65 Documentation Tools 65 Java 66 General 66 Java Utilities 66 Java Archive (JAR) Files 67 Kernel Extensions 68 I/O Kit Drivers 68 Document Revision History 71 Index 73 5 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. CONTENTS 6 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. Figures Chapter 2 Getting Started 13 Figure 2-1 Xcode application 14 Figure 2-2 Mac OS X system architecture and development environments 18 Chapter 3 The Apple Integrated Development Environment 25 Figure 3-1 Interface Builder windows for a new Carbon project 30 Figure 3-2 Interface Builder windows for a new Cocoa project 31 Chapter 4 Development Process 33 Figure 4-1 The software development process 34 7 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. FIGURES 8 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 Introduction Mac OS X, with its heritage of great user interfaces and its roots in a solid, open-source UNIX implementation, is the most advanced computer operating system available today. Because of the selection of development environments and tools available for it, Mac OS X is also the easiest platform to write software for. Whether you want to take advantage of the rapid development afforded by Apple's object-oriented frameworks (Cocoa), or the power and flexibility of its procedural API (Carbon), there is a large assortment of tools available for your use. The Xcode application, Interface Builder, and the other tools that constitute Apple's full-featured integrated development environment (IDE) work equally well with Carbon and Cocoa and can also be used for cross-platform UNIX and Java development. The Xcode software development tool set includes the IDE, other applications and command-line tools written by Apple, and many tools written by other companies and by the UNIX open-source community. This document introduces the software development tools provided on the Xcode CD (also available on the Apple Developer Connection website at http://developer.apple.com), puts the various tools in the context of the development process, and briefly describes each tool so you can determine when you might want to use it. The tools in the Xcode tool set include many written by Apple, plus a variety of tools available from other sources and provided by Apple for your convenience. Whether you are new to Mac OS X or an old hand, this document will help you find the tools you need. Who Should Read This Document This document is intended for all developers of Mac OS X software. If you are new to developing software for Mac OS X, read the remaining sections in this Introduction to determine which development environment to use and to learn which additional sections of this document to read. If you are an experienced Mac OS X software developer, this document can serve as a resource to help you find the right tool for a specific task. You can skim through it to get an idea of what tools are available and come back to it later when you need to locate a tool for a specific purpose. Who Should Read This Document 9 © 2003, 2004 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 Introduction Organization of This Document This document outlines the software development process, tells you which tools are useful at each stage of development, and lists and describes all the tools available from Apple. This document contains the following chapters: ■ ªGetting Startedº (page 13) explains what Xcode and the Xcode application are, describes the different sorts of development projects that can be undertaken using Apple's tools, describes how each type of development project relates to the system architecture, and tells youÐbased on your experience and the type of project you intend to undertakeÐwhat to read next. ■ ªThe Apple Integrated Development Environmentº (page 25) provides a brief introduction to The Xcode application and Interface Builder, including a summary of their capabilities and how they interact with each other and with other tools. The Xcode application is the core application of Apple's integrated development environment (IDE) for Mac OS X. Together with Interface Builder and the other tools in the IDE, it provides all of the features you need to build a program for the Mac OS X platform, whether it's an application, kernel extension, shared library, or tool. ■ ªDevelopment Processº (page 33) gives an outline of the software development process for Carbon and Cocoa applications, and describes how the Xcode tools support this process.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    75 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us