Skip to content

Comment on Ask HN: Experienced programmer, beginner to iOS (objective-C). Where to begin?

Comments

For your level of experience I would go would go with Kochan - Programming in Objective-C 4th edition.

There is also a free course for iPhone programming from Stanford (video lectures).

MonoTouch is a good alternative if you prefer to use C#, but you will need to pay 99$/year to Apple + 399$ for Monotouch. The good thing is that you can evaluate MonoTouch and pay after you are comfortable with the tool.

RubyMotion is too young to be used in a large application. Also learning Ruby and Cocoa in the same time can be difficult. I think RubyMotion is a good fit for an experienced Ruby programmer that wants to start coding on iOS. Another potential problem with RubyMotion is that it is currently developed by a single person, which can be problematic on long term.

That been said, muy advice is to go on the Objective-C route since you are already comfortable with C. Objective-C is a small language and an experienced C programmer can be up to speed in a matter of days.

The real challenge is in learning the iOS libraries and not the programming language.

Yes, the general opinion seems to be:

Use Objective-C with the new Automatic Reference counting mechanism.

iOS libraries - in your opinion - what are some good resources to get familiar? (Google-fu results in a lot of links to wade through).

I can not agree with recommending ARC to anyone at this time; in this case there is a ton of existing code out there which is incompatible with it. If you are an experienced obj-c developer who's tired of writing boilerplate and uses the static analyzer with LLVM - then go for it.

Learning to clean up after yourself is a life skill worth having. And besides, there's always the -fobjc-arc flag for classes which use it.

EDIT: Every project seems to include: Reachability SBJson ASIHttp

And also commonly occurring: OpenUDID ZipKit NSLogger InAppSettingsKit (there are others) Cocos2d/3d

You can disable ARC for some or all part of your program, so lib compatibility is not a problem.

Thanks for the heads-up on ARC.

Not averse to managing memory :-)

If you need to include those files in your project, you can just turn ARC off for them while leaving it on for the rest.

I suggest you to do a search after iOS 5 on Amazon and check the comments before buying a book. I'd stay away from any of the Appress books on Objective-C, iOS, etc ... low quality of information and a lot of typos.

Personally I don't have a preferred source and I tend to use Apple's documentation or tutorials from websites like:

http://www.raywenderlich.com/

iOS is a moving target so it is difficult to find a good book on this.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.