Site Menu
Extra Info Menu
Cocoa Units Logo

Cocoa Units Links

This page is a bookmark list of pages that we have found useful for the Cocoa Units project. In general, we have organized them by what we feel is the appropriate category, but if you believe that we have made a mistake drop us an email and we'll look into it. Double that if you find any dead links in here.

There are a number of different methods of programming, ranging from completely disorganized (hack and pray) to a variety of highly organized methods. Our plan for the Cocoa Units project is to use Extreme Programming. In a nutshell, this form of programming encourages two or more programmers to collaborate on all aspects of a piece of code, constantly reading each others work. This is a variation on the "many eyes" principle that open source uses; the difference is that there is a definite set of eyes that should examine a section of code. For more complete information, take a look at the links below.

Once you have some idea as to our programming methodology, the next question involves tools and languages. The project will eventually encompass both Objective-C and Java, but because Mac OS X™ was designed to use Objective-C, we are concentrating on it first.

Tools

  • Project Builder - This is Apple's free compiler, and is the main tool that we will use. It does require that you become a member of the ADC before you can download it, but you can become a member for free.
  • Sen:te OCUnit - This is a very slick framework that allows you to create unit tests easily. It is what we are basing all of our work off of.
  • HeaderDoc - If you've used JavaDoc, you'll understand the idea behind HeaderDoc. It is a tool that generates web based documentation for properly formatted source code. This can save you quite a bit of time when developing documentation.
  • Completion Dictionary - As its name suggests, this plugin allows automatic completion of preprogrammed phrases in Project Builder. Very useful in handling "boilerplate" code where much of the code is the same.

Books

Currently, there are very few books available on programming for Cocoa. That will change as more people become familiar with it, and as demand for such books increases.

  • Cocoa Programming for Mac OS X - A very well written book aimed towards those who know how to program, but not in Objective-C, nor for Cocoa. I personally (Cem) like this book a great deal. However, consider this a beginner's book; it doesn't try to cover every API, but it does a very good job of making sure that you will be able to program on your own once you are done with it.
  • Learning Cocoa - This was the first book that was available. If you already know Objective-C and need an API reference for Cocoa, this book is somewhat useful, but if you are learning, get Cocoa Programming for Mac OS X instead.
  • Cocoa Programming - I (Cem) have not read this. If you buy it, send in a review so that others will know if its any good.
  • Cocoa Cookbook for Mac OS X - At the time that this webpage was put together, this book hadn't yet been published. If you get it and read it, please send us a review of what you think of it.
  • Building Applications with Cocoa - At the time that this webpage was put together, this book hadn't yet been published. If you get it and read it, please send us a review of what you think of it.

These other books are books that I (Cem) have found useful in programming design, and in thinking about good programming in general.

  • Cocoa Programming for Mac OS X - This book teaches a series of relatively simple methods that help make your code more bug free. The best way to describe it is a 'best practices' kind of book; not specializing in any one topic, but useful in all of them.
  • Learning Cocoa - A very good book explaining the problems in building secure software, and the most common problems that most software has. I (Cem) STRONGLY reccomend that you read this book. Although security might not seem to be that big an issue, security and bugs have a lot of overlap. By testing for the problems listed in this book, we'll have covered even more bugs.

Other Documentation

Homepage Our Goals Guidelines Getting Started Links FAQ Contact Info Cocoa Units at Sourceforge