E-Book, Englisch, 594 Seiten, Web PDF
Feiler Mac OSX Developer's Guide
1. Auflage 2001
ISBN: 978-0-08-051052-1
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 594 Seiten, Web PDF
ISBN: 978-0-08-051052-1
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
Mac OS X, Apple's newest operating system for the Macintosh platform, is profoundly different from its earlier versions because of its similarity to the UNIX operating system. For developers writing software for OS X this means adjusting to two new environments to create applications and to access the enhanced features of the new OS, Cocoa and Carbon. Cocoa is an object-oriented API in which all future OS X programs will be written. Carbon is a transitional technology allowing compatibility of applications written for earlier versions of the Mac OS with Mac OS X.
Mac OS X Developer's Guide focuses equally on Cocoa and Carbon, guiding the reader through these technologies and showing how to write applications in both. It is the first book for Mac OS X developers written for those who are already working on applications, as well as new developers just getting started. It starts off describing the new OS and its development tools then focuses on specific programming issues, providing tips on making the transition from classic Mac OS code to Mac OS X.
* A guide for developers already writing applications as well as new developers just getting started
* Focuses equally on both Cocoa and Carbon environments
* Provides tips on transitioning from writing code for classic Mac OS to OS X
* References Apple online materials extensively, to keep developers up to speed on changes
Autoren/Hrsg.
Weitere Infos & Material
1;Cover;1
2;Contents;6
3;Preface;22
3.1;Diary;24
3.2;Other Documentation and Developer Resources;24
3.3;Acknowledgments;25
4;Part l: Introducing Mac OS X;26
4.1;Chapter 1. Introduction;28
4.1.1;Who Is a Programmer?;30
4.1.2;The Search for Better Ways to Write Software;31
4.1.3;The Evolution of Software;37
4.1.4;Summary;44
4.2;Chapter 2. Architecture Overview;46
4.2.1;The Story So Far;47
4.2.2;Modern Operating Systems;49
4.2.3;Mach;59
4.2.4;The Evolution of Mac OS X;62
4.2.5;Summary;73
4.3;Chapter 3. Frameworks and Object-Oriented Programming;74
4.3.1;Object-Oriented Programming;75
4.3.2;Object-Oriented Design Issues;81
4.3.3;Run-Time Issues;87
4.3.4;Frameworks;89
4.3.5;Summary;89
4.4;Chapter 4. The Languages of Mac OS X: Java;90
4.4.1;The Look of Java;91
4.4.2;Everything Is an Object;93
4.4.3;Inheritance and Organization in Java;97
4.4.4;The Java Bridge;99
4.4.5;Summary;102
4.5;Chapter 5. The Languages of Mac OS X: Objective-C;104
4.5.1;Object-Oriented Programming Languages: Two Directions;105
4.5.2;Dynamism;107
4.5.3;Class and Instance Objects;111
4.5.4;Protocols;113
4.5.5;Categories;113
4.5.6;Keeping It Running;114
4.5.7;Syntax;116
4.5.8;Objective-C++;117
4.5.9;Summary;117
4.6;Chapter 6. The Languages of Mac OS X: C++;120
4.6.1;The C++ Objective;121
4.6.2;Consequences of Compile-Time Typing;123
4.6.3;Multiple Inheritance;126
4.6.4;Cocoa and C++;130
4.6.5;Using Objective-C and C++ Together;132
4.6.6;Summary;133
4.7;Chapter 7. The Frameworks of Mac OS X: Cocoa;134
4.7.1;Programming Design Terminology;135
4.7.2;AppKit;141
4.7.3;Foundation;148
4.7.4;Summary;165
4.8;Chapter 8. The Frameworks of Mac OS X: Carbon;166
4.8.1;Where Carbon Fits In;167
4.8.2;Carbon Frameworks;172
4.8.3;Carbon Events;179
4.8.4;Summary;198
4.9;Chapter 9. The Frameworks of Mac OS X: Core Foundation and Apple Class Suites;200
4.9.1;Core Foundation;201
4.9.2;Apple Class Suites;206
4.9.3;MacApp;208
4.9.4;Summary;213
5;Part II: Designing for Mac OS X;216
5.1;Chapter 10. Planning Your Project;218
5.1.1;Set Your Objectives;219
5.1.2;Know Your User;222
5.1.3;Building on the Past;224
5.1.4;Choose Your Resources;224
5.1.5;Use Mac OS X Features;226
5.1.6;Summary;230
5.2;Chapter 11. The Tools of Mac OS X: Project Builder;232
5.2.1;Getting Started with Project Builder;234
5.2.2;Using Project Builder;236
5.2.3;Building Projects;256
5.2.4;Building from the Command Line;263
5.2.5;Working with CodeWarrior;264
5.2.6;Summary;267
5.3;Chapter 12. The Tools of Mac OS X: Interface Builder;270
5.3.1;Interface Builder Overview;278
5.3.2;Using Interface Elements;278
5.3.3;Designing with Interface Builder;294
5.3.4;Programming for Interface Builder;296
5.3.5;Using Interface Builder with Carbon;303
5.3.6;Summary;305
5.4;Chapter 13. Prototyping and Testing;308
5.4.1;The Roles of Prototypes;309
5.4.2;Shaping the Interface;312
5.4.3;Testing;313
5.4.4;Summary;316
5.5;Chapter 14. Developing Help and Assistance;318
5.5.1;Providing Help;319
5.5.2;Help Viewer;326
5.5.3;Summary;334
5.6;Chapter 15. Packaging Your Application;336
5.6.1;Packages, Bundles, and Installation Locations;337
5.6.2;Creating an Application Bundle with Project Builder;339
5.6.3;Creating a Disk Image;342
5.6.4;Creating an Installer Package;346
5.6.5;Testing Installations;348
5.6.6;Summary;349
5.7;Chapter 16. Managing Your Code;350
5.7.1;How Source Code Management Works;351
5.7.2;Setting Up CVS;352
5.7.3;Using Source Code Management in Project Builder;356
5.7.4;Checking Files In (Commit);360
5.7.5;CVS Preferences;363
5.7.6;Logging In to a Remote CVS Server;364
5.7.7;Summary;364
6;Part III: Writing for Mac OS X;366
6.1;Chapter 17. Applications;368
6.1.1;A Walk-Through of Diary;369
6.1.2;A Walk-Through of the Diary Classes;377
6.1.3;Using NSApplication;380
6.1.4;Applications in Carbon and Classic;385
6.1.5;Summary;390
6.2;Chapter 18. Building Blocks and Types;392
6.2.1;Creating a Data Strategy;393
6.2.2;Basic Types and Objects;400
6.2.3;Collections;401
6.2.4;Property Lists;409
6.2.5;Preferences and Defaults;411
6.2.6;Creating Objects;415
6.2.7;Summary;418
6.3;Chapter 19. Making It Happen: Events, Responders, Delegates, and Notification;420
6.3.1;Events;421
6.3.2;Responders;423
6.3.3;Delegates;428
6.3.4;Notification;429
6.3.5;Using Delegates and Notifications;434
6.3.6;Summary;440
6.4;Chapter 20. Visualization: Views and Windows;442
6.4.1;Looking at Views;443
6.4.2;Using Windows;458
6.4.3;Working with Images;464
6.4.4;Implementing Toolbars;465
6.4.5;Drawers;476
6.4.6;Summary;477
6.5;Chapter 21. Interface Design and Controls;478
6.5.1;The Role of Guidelines and Standards;479
6.5.2;User Actions;482
6.5.3;User Input;486
6.5.4;Providing Information to the User;492
6.5.5;Small Control Variants;495
6.5.6;Summary;496
6.6;Chapter 22. Living in a Shared Environment;498
6.6.1;Archiving, Serialization, and Distribution;499
6.6.2;Copying;508
6.6.3;Synchronism;510
6.6.4;Summary;517
6.7;Chapter 23. Documents and Files;520
6.7.1;Document-Based Architectures;521
6.7.2;Implementing Documents and Views;523
6.7.3;Saving and Restoring Data;528
6.7.4;Undo and Dirty Documents;535
6.7.5;Summary;540
6.8;Chapter 24. Managing Menus;542
6.8.1;Menus and Other Interface Elements;543
6.8.2;Contextual Menus;544
6.8.3;Dock Menus;545
6.8.4;Summary;548
6.9;Chapter 25. Printing;550
6.9.1;Basic Printing;551
6.9.2;Print Panels;555
6.9.3;Print Info;556
6.9.4;PDF and Clipboard Support;557
6.9.5;Summary;561
6.10;Chapter 26. Action! Games and Multimedia;562
6.10.1;Human Interface Device (HID) Manager;563
6.10.2;NSMovie and NSMovieView;568
6.10.3;Immersive Applications;570
6.10.4;Summary;572
6.11;Chapter 27. Writing and Using Services;574
6.11.1;How Services Work;575
6.11.2;Setting Up a Service;578
6.11.3;Summary;585
6.12;Chapter 28. Scripting in Mac OS X;586
6.12.1;AppleScript Overview;587
6.12.2;Making Your Application Scriptable;589
6.12.3;Building the Grammar;591
6.12.4;Implementing the Grammar;593
6.12.5;Summary;596
6.13;Chapter 29. Writing Reusable Components;598
6.13.1;Frameworks;599
6.13.2;Palettes;601
6.13.3;Summary;604
7;Index;606
8;About the Author;621




