|
Cocoa is an object-oriented development environment available in Apple's Mac OS X environment. Mac OS X, a unified operating system and graphical operating environment, is the fastest growing Unix variant on the market today. Hard-core Unix programmers, developers who cut their teeth on classic Mac operating systems, and developers who cherished NeXTSTEP, the decade-old system on which today's Cocoa is based -- all are flocking to Cocoa, and they need a lot more practical information than is currently available from Apple. There is a lot to learn. "Building Cocoa Applications" is an ideal book for serious developers who want to write programs for the Mac OS X using Cocoa. It's a no-nonsense, hands-on text that's filled with examples -- not only simple and self-contained examples of individual Cocoa features, but extended examples of complete applications with enough sophistication and complexity that readers can put them to immediate use in their own environments. "Building Cocoa Applications" takes a step-by-step approach to teaching developers how to build real graphics applications using Cocoa. By showing the basics of an application in one chapter and then layering additional functionality onto that application in subsequent chapters, the book keeps readers interested and motivated. Readers will see immediate results, and then go on to build onto what they've already achieved. The book is divided into four major parts: Part I introduces the Mac OS X graphical user interface (Aqua) from a developer's point of view, Cocoa developer tools (such as the Interface Builder, Project Builder, and gdb debugger), object-oriented concepts, the Objective-C language in whichCocoa is written, and the basics of Cocoa programming itself. Part II focuses on building the first complete application, Calculator, a simple four-function calculator. The chapters in this part of the book extend the application, piece by piece, by introducing such features as nibs, icons, delegation, resizing, events, and responders. Part III focuses on building an application called MathPaper, which is similar to a word processor but which instead solves mathematical expressions the user supplies. The chapters in this part of the book extend MathPaper by developing both the front and back ends using a variety of Cocoa classes and methods. They introduce Cocoa'sdocument-based architecture, tasks, pipes, Rich Text format, handling document files, and using Quartz to draw in windows. Part IV focuses on building the GraphPaper application, a more complex multithreading application that graphs mathematical functions in multiple dimensions and that uses mouse-over capabilities to identify graph points. The chapters in this part of the book add more advanced Mac OS X features such as multithreading, color, mouse events, zoom buttons, pasteboards, services, preferences, and the defaults database. By the end of the book, readers who have built the applications as they have read will have a solid understanding of what it really means to develop complete and incrementally more complex Cocoa applications. The book comes with extensive source code available for download from the O'Reilly web site, along with an appendix listing additional resources for further study. |
|
This book has potential, but in general I am pretty dissatisfied. Good things: (1) It is pretty well thought-out. (2) The progression through 4 projects is good. (3) There is working code for the examples available online. Bad things: (1) The book is riddled with errors. If you include the unofficial errata from OReilly's Website, the book becomes about 200% more usable. (2) Why has this book not been reprinted? At LEAST OReilly should have released an official errata for this book at this point!!! (3) This book does NOT cover 10.3 and the XCode software (still uses project builder). In most cases this is ok and you can figure much of it out. However, there are times that the differences are too significant to overcome without a lot of effort. -- I have been very happy with O'Reilly books in the past, but this one is substandard. I would recommend trying a different book unless this one is overhauled. |
|
Let me start off by saying that chapter 1 is completely useless. I bought this book to learn about programming - not to learn tips and tricks for the OS! Chapter 1 has lessons on things like emptying the trash, getting file information, etc.! If I'm buying a book on programming, shouldn't it be assumed that I already know how TO MOVE AND COPY A FILE WITHIN THE OS??!!! Sorry, but it is useless in this book and SHOULD NOT be in there! A serious waste of space by the publishers. That said, the rest of the book is pretty good, but I wish it were more comprehensive (Hmmm, maybe skipping the chapter on how to rename folders and adding some extra programming information would have been good...) and like another reviewer, I wish the code examples were explained better. I would recommend this book as ancillary to more comprehensive programming manuals. |