Building Cocoa Applications: A Step by Step Guide

Building Cocoa Applications: A Step by Step Guide

by SimsonGarfinkel (Author), Michael Mahoney (Author)


This guide 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 which Cocoa 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, colour, mouse events, zoom buttons, pasteboards, services, preferences, and the defaults database.


Save:$6.00 (9%)


1 in stock

More Information

Format: Paperback
Pages: 648
Edition: 1
Publisher: O'Reilly Media
Published: 01 May 2002

ISBN 10: 0596002351
ISBN 13: 9780596002350

Author Bio
Michael K. Mahoney is Professor and Chair of the Computer Engineering and Computer Science Department at California State University, Long Beach. He started programming a NeXT Computer in January 1989 and attended NeXT Developer's Camp in May 1989. He has conducted several semesters of Cocoa software development seminars at CSULB and has led training in industry for Mahoney Consulting and the Anderson Software Group. Mahoney has given presentations on Object-Oriented Programming and Cocoa's Interface Builder at ACM meetings in Seattle, Los Angeles, Monterey, and New Orleans. He regularly teaches courses in Computer Graphics, User Interface Design, Object-Oriented Programming, and Discrete Mathematics. He is currently directing several students who are developing 3D computer graphics applications in the Cocoa environment. Mahoney is founder and President of SCaN, the Southern California NeXT Users' group, which has hundreds of members and meets monthly at various sites in Los Angeles County. He is also co-editor of SCaNeWS, SCaN's newsletter, which can be obtained from the archive site. Mahoney earned his Ph.D. in mathematics at the University of California, Santa Barbara in 1979. He has published papers in computer graphics, computer science education, and mathematics. He has won campus-wide teaching awards at both UCSB and CSULB. Simson L. Garfinkel is Chief Technology Officer at Sandstorm Enterprises, a computer security company that develops offensive information warfare tools used to probe the security of computer systems and test defenses. Garfinkel was the founder of Sandstorm Enterprises in 1998 and remains one of its principal stockholders. Prior to founding Sandstorm, Garfinkel founded Vineyard.NET, the Internet Service Provider (ISP) for Martha's Vineyard, in 1995. In 2000 he successfully negotiated the sale of Vineyard.NET to Broadband2Wireless (BB2W), a venture-funded broadband wireless ISP. When BB2W failed, Garfinkel negotiated the repurchase of Vineyard.NET from BB2W's bankruptcy court. Besides his activities as an entrepreneur, Garfinkel is a journalist and author. Since graduating from the Columbia School of Journalism in 1988, Garfinkel has had ongoing relationships with some of the nation's leading publications, including The Boston Globe, The San Jose Mercury News, The Christian Science Monitor, and Technology Review Magazine, in which he now published a regular column. He was one of the founding contributors to Wired Magazine. His articles have appeared in more than 50 publications including ComputerWorld, Forbes, The Nation, The New York Times, Omni and Discover. Garfinkel is the author or co-author of ten books, published by O'Reilly and Associates, Springer-Verlag, and IDG Books. His book Database Nation: The Death of Privacy in the 21st Century was endorsed by Ralph Nader, who called it A graphic and blistering indictment of the techniques used by businesses to invade our privacy and our lives. Garfinkel's most recent book, Web Security, Privacy and Commerce, is a detailed manual for securing Internet-based information systems. Garfinkel holds three degrees from the Massachusetts Institute of Technology and a master's degree in Journalism from Columbia University. He is a member of the Association for Computing Machinery (ACM), Computer Professionals for Social Responsibility (CPSR), and has a certification in computer security (CISSP) from International Information Systems Security Certifications Consortium. He is also an FAA licensed pilot. Garfinkel lives in Belmont and on Martha's Vineyard with his wife and three children.