PDA

View Full Version : Cocoa study path for an experienced programmer




jponsano
Jun 25, 2008, 05:23 PM
I'm hoping that some people already familiar with the broad spectrum of Cocoa could give me some advice on a study path.

I'm a reasonably experienced programmer. I know C and a couple similar ones like JavaScript. I'm entirely familiar with OOP, mostly from using REALbasic. Now I want to learn Cocoa (primarily OS X, but eventually iPhone OS), and need to do so in a relatively small time frame.

I've gone about halfway through the Cocoa Fundamentals guide, and have completed the Cocoa Tutorial. It makes enough sense, reasonably, and I think I understand Obj C well enough. I'm can reference other code to make sure I'm using the correct syntax and such until I get it down. As far as properly learning Obj C any further, I'm content to take a crash course through the syntax page on Wikipedia (that's how I learn most new languages these days).

Right now I find myself in the all too familiar "what next?" point when learning a new development environment. I'm not sure what text I should crack next: Application Kit? Foundation Kit? I don't want to graze over anything important and end up reading stuff I don't need to know just yet. A proper understanding of this learning path is only really known by those who are already familiar with it.

I'd rather not fork over money for one of those Cocoa books while there is official documentation that's free. I just need to piece it out in digestible pieces. Guides like the Become an Xcoder look like they'll end up being too slow paced for me, so I think I'd rather use Apple's documentation.

Thank you,
- John



Catfish_Man
Jun 25, 2008, 05:34 PM
Dive in. Come up with a starter project for yourself, or pick your favorite OSS Cocoa app.

Enuratique
Jun 25, 2008, 05:38 PM
I'm hoping that some people already familiar with the broad spectrum of Cocoa could give me some advice on a study path.

I'm a reasonably experienced programmer. I know C and a couple similar ones like JavaScript. I'm entirely familiar with OOP, mostly from using REALbasic. Now I want to learn Cocoa (primarily OS X, but eventually iPhone OS), and need to do so in a relatively small time frame.

I've gone about halfway through the Cocoa Fundamentals guide, and have completed the Cocoa Tutorial. It makes enough sense, reasonably, and I think I understand Obj C well enough. I'm can reference other code to make sure I'm using the correct syntax and such until I get it down. As far as properly learning Obj C any further, I'm content to take a crash course through the syntax page on Wikipedia (that's how I learn most new languages these days).

Right now I find myself in the all too familiar "what next?" point when learning a new development environment. I'm not sure what text I should crack next: Application Kit? Foundation Kit? I don't want to graze over anything important and end up reading stuff I don't need to know just yet. A proper understanding of this learning path is only really known by those who are already familiar with it.

I'd rather not fork over money for one of those Cocoa books while there is official documentation that's free. I just need to piece it out in digestible pieces. Guides like the Become an Xcoder look like they'll end up being too slow paced for me, so I think I'd rather use Apple's documentation.

Thank you,
- John

DISCLAIMER: I'm not an experienced Objective C / Cocoa developer. I do have almost 6 years Java/C# programming and almost 3 years doing C/C++ development. Despite my greenness with Objective C I was able to rewrite a utility I had written for my RAZR in J2ME (*blech*).

I feel like the Cocoa Fundamentals really is the most important thing to really understand. Application Kit / Foundation Kit is almost too task specific and should be consulted when the need arises. At least that's how I got my first iPhone program working.

A good exercise is to take an existing program you know works that is written in a different language you feel really comfortable with and then try porting it over to Objective C. Now a C program might not be the best choice seeing as how Objective C is really a superset of C and you can get your existing program to build without too much effort.

I found that hooking up my ported model to the UI was the biggest challenge. The Interface Builder manual was a good resource for that. Then it came down to dotting the i's and crossing the t's (pulling settings out of resource files, binding to table views, analyzing allocations to determine any memory leaks, etc).

Hopefully others will chime in. Sbrocket on these forums has been a big help to me and he might be able to chime in.

PyroTurtle
Jun 25, 2008, 05:48 PM
One of hte best references I've found for learning the language and answering small questions even once you do know the language is Cocoa® Programming for Mac® OS X, Third Edition [oreilly.com (http://safari.oreilly.com/9780321562739)]

It covers very basic and quite complex issues and hurdles that you are very likely to encounter. If you're "learning" Cocoa it's the first book I recommend. After that, try picking up a copy of Cocoa in a Nutshell [oreilly.com (http://safari.oreilly.com/0596004621)]. The book that I still use all the time is the Objective-C Pocket Reference [oreilly.com (http://safari.oreilly.com/0596004230)].

Hope that helps. Have fun!

jponsano
Jun 28, 2008, 11:31 PM
I went ahead and got myself a copy of Cocoa Programming for Mac OS X. I didn't want to spend the money, which is why I was asking for a recommended study path though the Apple documentation. Basically, I was hoping for a list of the same series of lessons that I would otherwise get out of a book like Cocoa Programming. However, since a book like this is basically exactly what I needed, it seems to be the best way to go.

That, and the ever popular dive right in technique appear to be my best options.

Thanks for the advice,
- John

Shogododdo
Jun 29, 2008, 02:42 AM
John,

You could try CocoaCast.com. This site originally used the chapters and challenges of Aaron Hilligass' excellent book and converted them into webcasts.

Personally I find them a little slow but when I got stuck in any of the challenges I referred to CC for hints or the answers.

Good Luck

Shogo