Home  •  Next Meeting  •  Contact Us  •  iCal  •  Check Email

MacGroup-Detroit    MacGroup iBBS    MacGroup iBBS  Hop To Forum Categories  Programming    Got Cocoa?
Go
New
Find
Notify
Tools
Reply
  
Got Cocoa?
 Login/Register
 
Newbie
Picture of James Trammell
posted
Hey MacGroup folks. I'm James, and at the last MacGroup meeting, I got up in front of you folks and announced that I was looking for other Cocoa developers in our area. Now that we have this SIG on the iBBS, I'll be floating ideas around in here. Thanks Terry, for creating this SIG.



What is Cocoa?

Cocoa is Apple Computer's native object-oriented application programming environment for the Mac OS X operating system.

Cocoa is derived from the NeXTSTEP and OPENSTEP programming environments developed by NeXT in the late 1980s. Apple bought NeXT in December 1996 in order to get the NeXTSTEP operating system. After some prettifying of NeXTSTEP, Apple released the Mac OS X operating system in 1999 as Mac OS X Server 1.0, with a desktop version, Mac OS X 10.0 (Cheetah), following in March 2001. The rest, as folks say, is history.



Is Cocoa what makes Mac OS X applications as slick and elegant as they are?

Yes. Cocoa applications typically have the rich features and intuitive user interfaces that we have come to expect from Mac OS X. (Bad developers can still write buggy, ugly applications, however, by not adhering to good software development practices or Apple's User Interface Guidelines.)



How do I get started developing software on Mac OS X using the Cocoa APIs?

Mac OS X comes with everything you need to develop software using Cocoa. The tools are on the install disks that came with your computer. These include an IDE (the dynamic duo of Xcode and Interface Builder), a compiler (gcc), and a number of utilities and application frameworks. All you have to do is run the installer and choose Developer Tools.

If you already know the C programming language, you'll need the following two books, available at Amazon or locally, to dive into Mac OS X software development:

1. Programming in Objective-C (second edition, 2004) by Stephen G. Kochan

2. Cocoa Programming for Mac OS X (second edition, 2004) by Aaron Hillegass

There are many books available on Cocoa, but these two are the highest rated. Having worked my way through both books, I agree. Kochan's book was an excellent foundation for Hillegass's book. I could not have gotten through Hillegass's book without having worked through Kochan's book first. Kochan's book presumes that you know at least some C, and moves quickly into Objective-C, the powerful object-oriented sibling to C. Kochan's book also gets you working with the Foundation framework, which is essential to understand before moving on to writing GUI applications.



But I don't know C!

If you don't know C, there are a number of books available locally or from Amazon. Knowing C is about as fundamental as it gets. Consider it the Algebra of software development. Taking a C course at one our local colleges would be an excellent idea. Kochan has written a C book that gets excellent reviews; it may serve as a good starting point. (I have not read it.)



What's next?

My personal goal at this time is fairly small: write some useful Mac OS X applications using Cocoa, and build up from there. To make it more fun and interesting, I'm looking for other people to develop with, which is why I joined the MacGroup. I'm not new to software development, Macs, or Mac OS X, but I'm somewhat new to Cocoa. So far, compared to other development APIs I've worked with, Cocoa shines.

It would be great if MacGroup members could let me and other Cocoa developers in the group know some things you wish you had applications for. Are there things you want to do with your Mac, but can't currently, because nobody has written an application to do it yet?

This isn't to say that it's easy, or that ideas can be turned into native Mac OS X applications instantly. It's fairly hard to do right, with a steep learning curve. That's why so few people develop native software to begin with. Thankfully, Cocoa makes software development on Mac OS X a lot less tedious than on other platforms, which in turn gives developers the breathing room to write much cooler than average applications.



Cheers!

-James
 
Posts: 7 | Registered: December 03, 2006Reply With QuoteReport This Post
Poobah
Picture of Chuck M
posted Hide Post
I am glad you have started this Programming SIG, and hopefully I can find the time to learn & do more Mac programming.

Recommendations on books/tutorials are always welcome.

I hope we can meet occasionally outside cyberspace to discuss programming topics, achievements, progress, etc. Please notify SIG members of any such meetings well ahead of time.

I own the 2nd edition of Kochan (March 2004), but apparently a 3rd edition was issued in quick succession on July 8, 2004. It's not clear what the differences are. Amazon reviews are very praiseworthy of the 3rd edition.

Cocoa and Mac programming have changed through the years, and will continue to do so. I believe the 3rd major upgrade to Cocoa will occur next year.
 
Posts: 2075 | Registered: June 23, 2002Reply With QuoteReport This Post
Newbie
Picture of James Trammell
posted Hide Post
Actually Chuck, there is no 3rd edition of Kochan's Objective-C book. You are probably confusing that with Kochan's C book, which has a 3rd edition.


Here are direct links to the books:

Kochan's Objective-C book

Website of the author and book, with errata, etc.


Hillegass's Cocoa book

Website of the author and book, with errata, etc.


I also want to encourage everyone serious about Cocoa to join the Apple Developer Connection (ADC). Apple Developer Connection

It's free, and if you want, you can use your existing Apple ID (the same one you use to buy songs in iTunes) to join.


The ADC website is massive. Here's a useful starting point in the ADC: Getting Started With Apple Technologies


As you dig into these websites, you'll discover the terabytes of reference documentation that Apple provides for free to developers. Check it out.


-James
 
Posts: 7 | Registered: December 03, 2006Reply With QuoteReport This Post
Jedi Master
Picture of Paul
posted Hide Post
I program mostly in C, but I'm slowly moving into Cocoa and Obective C. Count me in.


========================
Ignorance breeds fear and fear breeds stupidity. Knowledge is the key to overcoming your fears

The only fish in a stream that just "go with the flow" are the dead ones
 
Posts: 1416 | Location: Clawson, MI USA | Registered: July 25, 2002Reply With QuoteReport This Post
Newbie
Picture of James Trammell
posted Hide Post
Hi Paul. Cool!

For anyone reading, I want to add one more thing about the books. You don't need the books to learn Cocoa. It's entirely possible to learn the Cocoa APIs using only the free resources on the open web and the reference materials on Apple's ADC site. Adding the fact that you get the software tools for free, it's theoretically possible to do it all without spending one extra dime.

But in reality, this stuff is quite difficult to pick up from reference documentation alone. So I suggest getting the books, because they conveniently put most of the important stuff in one place.

-James
 
Posts: 7 | Registered: December 03, 2006Reply With QuoteReport This Post
Guru
Picture of Jack Beckman
posted Hide Post
I have the Kochan book and a Cocoa book (I don't recall which one). I've had them for a year and am just getting to them (school takes up a lot of my spare time).

While I've done a lot of programming over the years, none of it has been in C or C++. But the Kochan book is good so far (I'm up to Chapter 5).


===
Professor Hubert Farnsworth: “Nothing is impossible. Not if you can imagine it. That’s what being a scientist is all about.”
Cubert J. Farnsworth: “No, that’s what being a magical elf is all about.”

 
Posts: 5469 | Location: Sterling Heights, Mi | Registered: January 25, 2004Reply With QuoteReport This Post
Jedi Master
Picture of Paul
posted Hide Post
Another really good book...
http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764573993.html

I think it compliments the Hillegass book rather nicely. I've gone through both books.


========================
Ignorance breeds fear and fear breeds stupidity. Knowledge is the key to overcoming your fears

The only fish in a stream that just "go with the flow" are the dead ones
 
Posts: 1416 | Location: Clawson, MI USA | Registered: July 25, 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

MacGroup-Detroit    MacGroup iBBS    MacGroup iBBS  Hop To Forum Categories  Programming    Got Cocoa?

© MacGroup-Detroit 2016

Next Meeting | Join Now | News | About MacGroup | Check Your Mail