5 ms·
OS X/iOS Programming
As a high school student I've been taught in class the fundamental principles of Visual Basic, and C++. I'm looking to extend my skills into a more satisfying project, seeking to do so either through writing a Mac OS X application, or an iOS application.
With this said, I'm fairly new to the whole "real world" programming thing, with most of my experience limited to writing command line projects. I'm currently working through Stephen Kochan's "Programming In Objective-C 2.0" and it seems so far to be pretty good.
Ultimately what I'm looking for from HN is a push in the right direction of what other resources are good for learning Objective-C, good places to learn about OS X programming and the iPhone/iPad SDK, and even some hints about what I might read to become better at the interface design aspect of my application.
- makecheck 16y agoIf you feel comfortable with C++ to some degree, this transitional document might be helpful: http://ktd.club.fr/programmation/fichiers/cpp-objc-en.pdf http://ktd.club.fr/programmation/fichiers/cpp-objc-en.pdf I've found it does a good job of explaining how Objective-C works, for someone with C++ background. As far as interface design, I feel that Cocoa is something you just have to tinker with in order to learn. Apple has lots of sample code (register a developer login on developer.apple.com if you haven't). While there's plenty to read, I feel that to really understand things like connections and controllers in Interface Builder, you have to try to build things or inspect the interfaces in sample projects.
- joubert 16y agoThe bible is certainly Aaron Hillegass' Cocoa Programming for Mac OS X - http://www.bignerdranch.com/book/cocoa®_programming_for_mac®_os_x_3rd_edition http://www.bignerdranch.com/book/cocoa®_programming_for_mac®... The Apple documentation is outstanding. http://developer.apple.com/resources/ http://developer.apple.com/resources/ Check out ObjC and iOS podcasts. My favorite Cocoa website it http://theocacao.com/ http://theocacao.com/ Delicious might also help you: http://delicious.com/tag/cocoa http://delicious.com/tag/cocoa
- twobar 16y agoRegarding interface design and user experience I'd like to highlight the Apple Human Interface Guidelines [1]. They are to the point, which makes them easy to read and great for everyone interested in UI design and UX. [1] http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html http://developer.apple.com/mac/library/documentation/UserExp...
- Hoff 16y agoHaving looked at both in some detail, Daniel Steinberg's Cocoa Programming book http://pragprog.com/titles/dscpq/cocoa-programming http://pragprog.com/titles/dscpq/cocoa-programming might be preferable to Hillegass's book.
- minischneides 16y agoMuch thanks, I'll be sure to check out some of those sources. I've always found the Apple docs a little bit daunting, but I'll give them another shot.
- wanderingmango 16y agoKochan's book is good, but it is far from the "real world" when it comes to Cocoa programming. You don't really need most of what's in there. Just jump in with Hillegass' book and you'll be programming in cocoa much more quickly (I've used both books).
- samratjp 16y agoFirst go through this[1] for a quick intro to Objective-C: Then again, just checkout hw1[2] in Stanford - HelloWorld to iPhone SDK. This is the best hand-holding intro to Obj-c. If that doesn't suffice checkout the earlier class videos. [1]http://courses.csail.mit.edu/iphonedev/ http://courses.csail.mit.edu/iphonedev/ [2]http://www.stanford.edu/class/cs193p/cgi-bin/drupal/ http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
- glhaynes 16y agoIf you're going to want to run your iOS apps on actual devices (not just the built-in simulator), you'll need a $99/year iPhone Developer membership from Apple. Said membership comes with access to videos from this year's Worldwide Developer Conference, many of which will be helpful to you. EDIT: They're available to free dev accounts as well! Thanks for the corrections.
- kingnothing 16y agoThe videos are also available with a free developer account. I don't have a link offhand but it's at the bottom of the signup page.
- ugh 16y agoYou don’t need to pay the money to get access to the videos. A free developer account will do. That free program a really hard to find, though, here’s the link: http://developer.apple.com/programs/register/ http://developer.apple.com/programs/register/
- scrod 16y ago>"If you're going to want to run your iOS apps on actual devices (not just the built-in simulator), you'll need a $99/year iPhone Developer membership from Apple..." Which is a good reason to get acclimated to Objective-C/Cocoa by writing desktop Mac OS X software _first_. You'd need a Mac in both cases, and there are no barriers to deployment.
- erlanger 16y agoIs this some new trend where nobody prefixes self posts with "Ask HN"?
- xtacy 16y agoIt should be possible for the software to prefix "Ask HN" automatically. (if none exists..) But yeah, it just requires little effort from those posting the story. :)
- minischneides 16y agoSorry, I wasn't aware that was a "requirement". I'll keep it in mind for future posts.
- MWinther 16y agoIt's somewhat redundant, since the domain part is missing from the title, but that being said, I really prefer the prefix as well.
- Skroob 16y agoCraig Hockenberry's Missing Manual book on iPhone development is excellent, and I recommend it to everyone who's interested in learning iOS development. http://oreilly.com/catalog/9780596809775 http://oreilly.com/catalog/9780596809775
- access_denied 16y ago> hints about what I might read to become better at the interface design aspect of my application. Got to the internet archive, dig out the first original website of 37signals. Read the site, think about it. They were a cutting edge design firm back then. Also check out Hilman Curtis. Read the stuff on the website A list Apart. After that you will have a certain understanding of UID and related stuff. The rest is doing, showing off, iterate, iterate, iterate.
- ivanzhao 16y agoObjective-C is fairly simple, while Cocoa is vast and complex. The distinct is important. It might take you awhile to get familiar with Cocoa and all its patterns built on top of NSObject. "Cocoa Design Patterns, by Buck and Yacktman" is a very good book to get the big picture right, but might be slightly overwhelming at the beginning (as there are many patterns/ways to solve the same problem in Cocoa). Read Apple's documents: I still find it the best way to learn the details of Cocoa. The writing is dry and quite dense, so you might need to read it multiple times. Another thing to remember is that Cocoa is a framework: it demands to be followed and not be fought against.
- minischneides 16y agoI will keep that in mind, thank you.
- Zev 16y agoIs there anything specific that you want to do? In some cases, there might be better books for you to be reading (like OpenGL books, if you want to make some types of games). And targeting Mac vs iOS is rather different in some ways (UIKit and AppKit have lots of little corners in which they differ). Hillegass is basically bible for Cocoa (Mac) programming. But, its not the best way to learn Cocoa Touch (iOS) for iOS. For that, I'll second Skroob's recommendation of Craig Hockenberry's book. Also, Jeff LaMarche and David Mark's Beginning iPhone Development is rather good and I personally have a nice copy of Bill Dudney and Chris Adamson's iPhone SDK Development that I'll skim on occasion. But, you don't need to read all three of them; they basically cover the same material in different (but equally good) ways. After you've worked your way through one of them, maybe pick up Erica Sadun's The iPhone Developer Cookbook or iPhone Cool Projects by Wolfgang Ante, Mike Ash and a bunch of other really smart people. And at some point, move away from the path documented and write your own app!
- bobjohn 16y agoStart by doing. I'm 15 and learned iOS programming just by /doing/ it, reading other people's code and working until my code worked as well. My code wasn't too pretty to start with, but it really helped me understand the SDK...
- minischneides 16y agoI'm curious, do you have any applications in the store right now?
- MWinther 16y agoMy first resource to get to grips with Cocoa programming was the Hillegass book pointed out elsewhere. But when starting the iPhone focus, the Stanford iPhone Programming Lectures on iTunes U really were a great help for me, even though they didn't cover the latest version of the OS (They were doing it on 2.x when I did it, I suspect the latest one was for 3.x) they really explained a lot about philosophy and methodology, not to mention giving assignments and generally acting like a class. In fact, I am intent on revisit the latest version of the course, but all the dev videos kind of ambushed me, so I haven't gotten around to them yet. Speaking of which, I really get a lot out of, but I think a lot of the reason for that is taking the iTunes U course first.
- damoncali 16y agoThe pragmatic bookshelf books are all pretty good. Just buy one and get started. Once you get oriented, you'll find apple's documentation to be pretty good, especially if you're used to typical open source documentation.