7 ms·
The Complete Guide for Starting iPhone and iOS Development
- Breefield 16y agoThis is great! I just started going through Programming in Objective-C 2.0, although I'm not new to programming at all, I am pretty new to C/Obj-C. Good to see it in this guide, reaffirms that it's a good starting place.
- kingofspain 16y agoIt should be noted you don't need a Mac. I've had 2 apps developed, submitted and approved from my makeshift vmware player running on W7. I know others who use Virtual Box. Never ran into any trouble other than wondering why all the keys behave differently! Yes, it's technically illegal but isn't that the best kind of illegal?
- withoutfriction 16y agoI did add a point about using a Hackintosh, though it is good that you mentioned about using a VM image of OSX.
- xsltuser2010 16y agoIs there a similar resource for Android ? I don't currently own one, but this kind of writeup would be helpful to estimate the effort to get into developing first things for it..
- withoutfriction 16y agoIf this guide stays popular on HN for a bit, I will strongly consider (read: will) research it and write one up.
- xsltuser2010 16y agoOh that's nice. Looking forward to reading it.
- stevederico 16y agoThe Stanford iTunes U Courses should not be overlooked. They do a great job of taking you from crawling to running in no time. I enjoyed doing the homework too, it really increased my learning experience. Winter 2010- http://itunes.apple.com/us/itunes-u/iphone-application-development/id384233225 http://itunes.apple.com/us/itunes-u/iphone-application-devel... Spring 2009-http://itunes.apple.com/us/itunes-u/iphone-application-programming/id384233222 http://itunes.apple.com/us/itunes-u/iphone-application-progr... Spring 2011 (Starting Soon)-http://www.stanford.edu/class/cs193p/cgi-bin/drupal/ http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
- rimantas 16y agoI think you missed the best one—Fall 2010 http://itunes.apple.com/itunes-u/developing-apps-for-ios-hd/id395605774 http://itunes.apple.com/itunes-u/developing-apps-for-ios-hd/... Downloads: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall http://www.stanford.edu/class/cs193p/cgi-bin/drupal/download...
- Timothee 16y agoWhy is the one better than the other one? I've followed parts of CS193P twice (can't remember which one) and both were pretty good. If this one is really better, I wouldn't like to miss it… :) Oh I can not say enough good things about that class. Great teachers, great material.
- totalforge 16y agoWinter 2010, taught by Paul Hegarty, is the best introduction I've found. I have some books, I've watched some Apple videos, but I was still confused. Mr. Hegarty really explains things the right way. Highly recommended.
- rimantas 16y agoI guess you mean the same as me: Fall 2010? These names a tricky, Fall 2010 is really Fall-Winter 2010, and comes after winter 2010 which was winter-spring. What Stanford calls "Winter 2010" was taught by Alan Cannistraro and Josh Shaffer, and what I reffered to as Fall 2010 was indeed by Paul Hegarty.
- marksu 16y agoYes – programming is fun to hop into, but just a heads up: the most difficult process to learn and master is the marketing and promotion part of releasing an app. I feel that two blog posts linked in this article touches this subject in an interesting way: http://struct.ca/2010/the-story-so-far/ http://struct.ca/2010/the-story-so-far/ and http://blog.endloop.ca/blog/2010/08/12/100k-in-4-months-a-niche-apps-path-to-app-store-success/ http://blog.endloop.ca/blog/2010/08/12/100k-in-4-months-a-ni... That said, I would recommend Corona - http://www.anscamobile.com/corona/ http://www.anscamobile.com/corona/ - for anyone wanting to give iPhone app development a shot. Much easier and fun to jump into than objective-c, especially if you want to make games, and still pretty damn powerful!
- uxp 16y agoIt should be noted that the Corona SDK uses Lua on top of Objective-C and is geared for Game apps. If you already have some Objective-C or C knowledge I'd recommend Cocos2d-iphone, which is nearly pure Objective-C, with a little pure C in the rough parts. Going the Cocos2d route will also help you learn some of the peculiarities of the platform, like memory management and object lifecycle, while giving you enough skills to jump right into pure CocoaTouch. Nothing against Corona, it has it's place. Bubble Ball[1] was developed with Corona for example. [1] http://www.pcworld.com/article/216880/8th_graders_iphone_game_bubble_ball_knocks_angry_birds_from_perch.html http://www.pcworld.com/article/216880/8th_graders_iphone_gam...
- transmit101 16y agoReally not sure I agree with that. Coding is tough, and in my experience developing iOS apps well (and Cocoa apps in general to a lesser extent) is one of the most difficult forms of programming. And as for marketing and promotion, I'd say even more challenging is coming up with an idea which doesn't need marketing or promotion :)
- marksu 16y agoYes, fair enough – I basically agree. Just posted that comment as some food for thought. I think this link was a good read, but perhaps should mention the marketing part of app production as well, if not just coding for coding's sake is the purpose. The reality is not really "you build it and they will come", which is a common mindset that might get people disappointed in the long run. And yes – the biggest challenge is probably coming up with something original!
- drpancake 16y agoComing from Python, web development and Android, I found interface Builder to be the trickiest part of iOS to learn. The way it instantiates some of your classes requires you to build up a really odd mental model; I still don't fully understand it after a couple of months. You're welcome to do it all in code, but it seems to be discouraged by many.
- program 16y agoModel View Controller is an odd mental model? It's quite popular right now and I think that it's the best pattern for decoupling user interfaces from the underlying code.
- drpancake 16y agoMVC is fine. It's the way that your controllers are instantiated by a NIB that I find odd. It's too magical for me.
- cpr 16y agoIt's exactly the opposite of magical: you're simply building objects in IB that are "live" while you're building them and that then are freeze-dried when you save the file, and reconstituted at runtime. It's certainly magical in the sense that it's a beautiful way to do things. ;-)
- Glide 16y agoThis is what blew my mind when I actually understood what IB was doing in a class. It just made so much sense.
- mckoss 16y agoI prefer a programming model that is not so complicated that you need an IDE to generate the code for you. Even watching the Apple tutorials on using XCode I was struck by how many magic incantations you have to kearn that seem totally opaque and unmotivated (just hold down command and drag this thing on top of that thing and set this property in the pop up - what?). I think simple programs should be able to be expressed in one file and created in a simple text editor.
- guelo 16y agoThe fine print for new iOS devs: If you succeed in overcoming all of the obstacles ahead of you and actually create a worthwhile app on Apple's platform their is a good chance they will screw you over without warning or explanation by blocking your app, yanking your app, changing the rules, calling you a pornographer, randomly charging you new fees, prohibiting whatever it is your app does, changing the hardware you're allowed to use, changing the software you're allowed to use, and many other ways that seem impossibly outrageous right now until it actually happens. Invest your time and money at your own risk. You've been warned.
- cmaggard 16y agoMan, there's all these things standing in the way of success! I'd better not even try. Come on, seriously? There's risk involved in pretty much every venture, and you can't exactly control the actions of outside entities. If I kept avoiding tasks because there was a chance of it being screwed over by someone else, I'd never get anything done.
- prodigal_erik 16y agoThis risk can't be mitigated. One guy wakes up on the wrong side of the bed and bam, 99% of potential customers (everyone who doesn't have a jailbreak, assuming that remains possible) are out of your reach for no real reason. Every developer needs to be aware that Apple bargains like Darth Vader.
- Zev 16y agoBeen doing iOS dev for a few years, friends with many others who have been doing the same. Sometimes things suck. But, not usually. How is this any different from relying on Google to "guarantee" a base minimum to dev against… that seems to be ignored by handset makers All platforms have downsides.
- xuki 16y agoThere's a greater chance that Apple won't block your app, but feature it instead, given that your app is GREAT. How about that?
- 16y ago
- bricestacey 16y agoThis is just a bunch of links. Can anyone vouch for the author's credibility?
- jtheory 16y agoAre you talking about the linked article, or HN in general? ;)
- flyosity 16y agoI wrote Building iOS Apps From Scratch (http://designthencode.com/scratch http://designthencode.com/scratch) a 30-page guide for coders just learning Objective-C and Cocoa. Also, for coders looking to get into UI design, I wrote a 70-page guide as well: http://designthencode.com http://designthencode.com Hope it helps!
- philthy 16y agoFor anyone who wants to fiddle with development and doesn't know any form of C, a company called Revolution Media makes a scripting tool called LiveCode. It is pretty easy to use but I'm not sure how advanced your apps can get.
- callmeed 16y agoI wouldn't call this a "complete guide" ... seems more like pre-reqs.
- mkramlich 16y agoThe Apple docs already explain this pretty well. Not too hard. It's weird we live in a world of hand-holding comfort and plentiful documentation on almost everything and yet we still create more.
- jodrellblank 16y agoNot too hard. That's a tautologically pointless thing to say. It's weird we live in a world of hand-holding comfort and plentiful documentation on almost everything and yet we still create more. How terrible we are for wanting a world of comfort instead of superior discomfort and confusion.
- jranck 16y agoWhat works for you may or may not work for someone else. I don't think I'm alone when I say that more quality resources on a subject is never a bad thing.