Live data from Hacker News

Ask YC Hackers: Best text for learning to develop apps for Mac OS X

news.ycombinator.com

1–10 of 13 posts

Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#1
I know all of the cool kids (myself included) are doing web apps, only deigning to develop for the client side through AIR, Gears, etc.

That notwithstanding, I'd like to dip my toes into the water of OS X development. What's the best book for getting acquainted with it? Bonus points if you know of a book that's going to receive a Leopard-inspired update soon.

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#3
When I worked at the Apple Store, I was complaining to a customer that they didn't sell any books when it came to coding (everything had to do with using your ipod and beginners guides to the OS). Turns out this customer was from SV and worked for Apple, although he never mentioned what he really did. He suggested that if I "want to make money" to learn AppleScript. I taught myself by just reading tutorials online, and learned you can do some pretty cool stuff with AppleScript. However, I personally would say one should put more focus on Objective-C and Cocoa. I began doing that (many tutorials online), but soon after got into web apps and put my focus elsewhere.

So, in my opinion, get a feel for AppleScript, then move on to Objective-C and Cocoa.

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#4
post #2

I am learning Obj-C and Cocoa right now and I'm using this book http://www.amazon.com/Cocoa-Programming-Mac-OS-X/dp/02017268... It's excellent. I also found Apple's documentation quite good (Obj-C 2.0 stuff is great).

The second edition of that book is more relevant:

http://www.amazon.com/exec/obidos/ASIN/0321213149/bignerdran...

That being said, the third edition is coming out this spring.

On a completely separate note, I would be careful about relying on Obj-C 2.0. If you want to actually release something in the near future, you won't be able to rely on it if you want to include 10.4 users. And of course, there's the issue of how great garbage collection really is...

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#5
http://trolltech.com/

I can't comment on Cocoa. But if you know C++ Qt is a dream. They have amazing libraries that make up for the shortcomings of C++. It also makes native look and feel cross-platform development a snap. Google Earth is built in Qt. It has a dual license, documentation + community are great. Can't say enough good things about it.

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#6
post #4
post #2

I am learning Obj-C and Cocoa right now and I'm using this book http://www.amazon.com/Cocoa-Programming-Mac-OS-X/dp/02017268... It's excellent. I also found Apple's documentation quite good (Obj-C 2.0 stuff is great).

The second edition of that book is more relevant: http://www.amazon.com/exec/obidos/ASIN/0321213149/bignerdran... That being said, the third edition is coming out this spring. On a completely separate note, I would be careful about relying on Obj-C 2.0. If you want to actually release something in the near future, you won't be able to rely on it if you want to include 10.4 users. And of course, there's the issue of h…

This is a great book to start with. After you finish it, this one is also good: http://www.amazon.com/Advanced-Mac-Programming-Core-Unix/dp/...

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#7
post #5

http://trolltech.com/ I can't comment on Cocoa. But if you know C++ Qt is a dream. They have amazing libraries that make up for the shortcomings of C++. It also makes native look and feel cross-platform development a snap. Google Earth is built in Qt. It has a dual license, documentation + community are great. Can't say enough good things about it.

If you want to create Mac OS X apps, forget about multi platform stuff - your customers do not care if your app runs on other platforms, and they will ignore your app if it does look and behave like a great Mac app.

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#8
post #3

When I worked at the Apple Store, I was complaining to a customer that they didn't sell any books when it came to coding (everything had to do with using your ipod and beginners guides to the OS). Turns out this customer was from SV and worked for Apple, although he never mentioned what he really did. He suggested that if I "want to make money" to learn AppleScript. I taught myself by just reading tutorials online, a…

AppleScript is nice tool for special jobs, but you do not like to write complete apps with it. It is too annoying to write, slow and hard to debug. Use it to script other apps.

If you are looking for easier development environment, try pyobjc: http://pyobjc.sourceforge.net/

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#9
post #7
post #5

http://trolltech.com/ I can't comment on Cocoa. But if you know C++ Qt is a dream. They have amazing libraries that make up for the shortcomings of C++. It also makes native look and feel cross-platform development a snap. Google Earth is built in Qt. It has a dual license, documentation + community are great. Can't say enough good things about it.

If you want to create Mac OS X apps, forget about multi platform stuff - your customers do not care if your app runs on other platforms, and they will ignore your app if it does look and behave like a great Mac app.

It is a universal Gui API. So on OS X it api's to carbon (soon to be cocoa.) On windows it api's to mfc and on linux to xwin. So yes, it has exactly the same look and feel as a mac app or whatever platform you choose build on. Once it's compiled it's just a bunch of native system gui calls so there is no way to tell the difference. You've probably used Qt a million times and not known it. Opera and Google Earth are both Qt apps.

Even if I was only releasing on one platform I would still use it b/c it is so simple and powerful. And what's the harm in having your app available to the other 90% of computer users?

Re: Ask YC Hackers: Best text for learning to develop apps for Mac OS X

#10
post #4
post #2

I am learning Obj-C and Cocoa right now and I'm using this book http://www.amazon.com/Cocoa-Programming-Mac-OS-X/dp/02017268... It's excellent. I also found Apple's documentation quite good (Obj-C 2.0 stuff is great).

The second edition of that book is more relevant: http://www.amazon.com/exec/obidos/ASIN/0321213149/bignerdran... That being said, the third edition is coming out this spring. On a completely separate note, I would be careful about relying on Obj-C 2.0. If you want to actually release something in the near future, you won't be able to rely on it if you want to include 10.4 users. And of course, there's the issue of h…

This is the book I'm currently reading to learn more about Cocoa.

Note that with the release of Leopard, Xcode 3.0 and the new Interface Builder, a lot of the things in this book (such as the diagrams and directions) are no longer relevant and might be hard to follow.

The third edition of the book (which covers all the new things) will be out in the spring, according to the author.

Post reply on HN