- Table of Contents
- Copyright
- About the Author
- Acknowledgments
- Tell Us What You Think!
- Introduction
- Part I: Introduction to Mac OS X
- Chapter 1. Mac OS X Component Architecture
- Chapter 2. Installing Mac OS X
- Chapter 3. Mac OS X Basics
- Chapter 4. The Finder: Working with Files and Applications
- Chapter 5. Running Classic Mac OS Applications
- Part II: Inside Mac OS X
- Chapter 6. Native Utilities and Applications
- Chapter 7. Internet Communications
- Chapter 8. Installing Third-Party Applications
- Part III: User-Level OS X Configuration
- Chapter 9. Network Setup
- Chapter 10. Printer and Font Management
- Chapter 11. Additional System Components
- Part IV: Introduction to BSD Applications
- Chapter 12. Introducing the BSD Subsystem
- Chapter 13. Common Unix Shell Commands: File Operations
- Part V: Advanced Command-Line Concepts
- Chapter 14. Advanced Shell Concepts and Commands
- Chapter 15. Command-Line Applications and Application Suites
- Chapter 16. Command-Line Software Installation
- Chapter 17. Troubleshooting Software Installs, and Compiling and Debugging Manually
- Chapter 18. Advanced Unix Shell Use: Configuration and Programming (Shell Scripting)
- Part VI: Server/Network Administration
- Chapter 19. X Window System Applications
- Chapter 20. Command-Line Configuration and Administration
- Chapter 21. AppleScript
- Chapter 22. Perl Scripting and SQL Connectivity
- Chapter 23. File and Resource Sharing with NetInfo
- Chapter 24. User Management and Machine Clustering
- Chapter 25. FTP Serving
- Chapter 26. Remote Access and Administration
- Chapter 27. Web Serving
- Part VII: Server Health
- Chapter 28. Web Programming
- Chapter 29. Creating a Mail Server
- Chapter 30. Accessing and Serving a Windows Network
- Chapter 31. Server Security and Advanced Network Configuration
- Chapter 32. System Maintenance
- Appendix A. Command-Line Reference
- Appendix B. Administration Reference
Cocoa
Cocoa has been through several name changes during its life. Cocoa, for all intents and purposes, is OpenStep. Originally designed to be a highly portable API accessed through the Objective-C programming language, Cocoa's first Mac implementation was called Yellow Box and was included in Mac OS X Server. In addition to the Mac, Yellow Box could also run on several versions of Unix as well as Windows NT. To understand why this is possible, you must first understand the WebObjects project.
One of NeXT's crown jewels was the Web application development environment called WebObjects. Inextricably entwined with the OpenStep/Yellow Box implementation, NeXT pushed WebObjects to as many platforms as possible, including its own OpenStep BSD-based system, as well as Windows NT, HPUX, and Solaris. Apple's original plan was to use the Yellow Box implementation on NT to allow developers to create software that ran on both Mac OS X and on Windows. Unfortunately, this project seemed to stall and has apparently been dropped by Apple for the time being. It wouldn't be surprising to see this reincarnated at some time in the future. It was a promising cross-platform technology, but hardware speed, space limitations, and licensing of the PostScript engine made it impractical for all but commercial developers.
Even without the NT component, Cocoa offers a compelling development environment for Mac OS X. Cocoa is a highly object-oriented environment that is similar in some ways to Java, and considered by many to be vastly superior. Programmed primarily using the Objective-C language, Cocoa is finally starting to catch on with new developers. Compared to traditional programming methods, Cocoa offers advanced rapid design tools, real-time prototyping, and the ability for a single programmer to create full-scale applications in a fraction of the time of other approaches.
Unfortunately, the Cocoa learning curve remains relatively high and the Objective-C language can bewilder those who are skilled in C++. Apple has taken steps to eliminate this problem by including developer tools with each copy of OS X sold. (Previously, the NeXT developer tools cost thousands of dollars.)
Java 2 | Next Section

Account Sign In
View your cart