I know more then one of these guides is out there and most of them are saying about the same stuff, but what the hell – I’ll write one myself giving my insights and my recommendations.
A bout two month ago I decided to broaden my knowledge a bit by picking up a subject that interested me for a while – iPhone Programing.
Along the way I used a few sources and decided to make a short list of what would you need to start getting into this.
Lets begin with what you must have:
A Mac:
Always surprises some people for some reason. iPhone’s IDE runs only on an Apple computer. Doesn’t really matter which (assuming it’s an Intel based computer).
Even the most basic Mac Mini will run it properly without any problems.
Regarding a Hackintosh or a Virtual machine – It’s nice to play with it around a bit, don’t count on it for being a normal solution. There are a lot of little issues with this (except the being illegal part).
An Apple Developer account:
Well Basically there are 3 options to chose from here:
- Free Account – Allows you to develop, compile and run in the simulator. Practically – all you need to study and practice programing for the iPhone is here. The tools are in no way limited or partial – Just the same as any other company or developer uses.
- Paid Developer’s Account – 100$ a year will get you on top of the tools and being able to run the simulator, the option to test your applications on a real iPhone (or iPad) and submit apps to Apple’s AppStore (two words on the model – Apps are hosted for free, if they are paid apps – 30% goes to Apple, 70% to you)
- Company Developer Account – A few extras – out of this post’s scope
Download X Code:
After you opened a developer account (or before – you can create it there) go to Apple’s iOS Dev Center and Start Downloading the latest xCode with iOS sdk.
Development Knowledge:
This is one that is in my opinion a must. Most information sources I found assume you know how to program and that the term design pattern does not sound like a curse to you. You might be able to do well without it, however for an entirely new developer learning this as a first language – I think most will get lost pretty fast.
Your still reading? Good, now is time to learn.
There are many good places to start from, in fact – enough to confuse you. I’ll give a few that I found useful.
The Book Option:
APress released a very good book regarding iPhone development – Beginning iPhone 3 Development.
The book gives nice examples and walks you through creating a couple of nice projects. The book is however light on the technical details. At the code level – if you don’t understand what the code is doing – you’ll mostly be copying it and not really understanding a lot of the technical underlaying of the platform (in terms of code , types , memory management, function types etc.). If you already know Objective-C – that probably wont pose a problem. For the rest of you – it might.
Here is a link to the revised version of the book (for iPhone 4 which should include iPad specific chapters as well) : Beginning iPhone 4 Development. Note the book is Due to Jan 31st.
iTunesU – The academic Option:
iTunesU is a great platform for academical knowledge. Stanford University is giving a course – CS139P – iPhone Application Development.
The good news – you can view all the lectures (even in HD) simply by downloading them from iTunes store – Just search “developing apps for ios” and get all the lectures.
For the lecture slideshows you can go to the course’s site and get all the PDFs of the slideshows and the homeworks.
Do note – the course is pretty hard and technical and at times – just runs with the material at a crazy speed. Also the Interface Builder is barely used and the templates are hardly touched which might be a bit nice to know how to use them better for real world applications rather then coding everything from scratch.
The level of the knowledge that can be drawn from the course though is very high and even the small things are must knows when you really want to understand what’s going on.
(Do note – that every year or semester this course is re-done so by the time you read this – there might be a running, more current version of the course).
Apple’s Documentation:
Will suite you better when you know what your looking for but double clicking a command inside xCode with alt/option will let you see Apple’s Documentation. Also you can go to iOS Reference Library for guides and code examples.
WWDC Sessions:
Each year Apple has a developer convention where some of it’s developers give classes on various topics. This year’s videos have been uploaded and are available for free to registered developers (even free accounts) – just log in from the Session Videos Page.
In plus of these data sources many sites and blogs are out there covering iPhone development from various angles (also a lot of technical forums have sections on iPhone development) so it’s always a good idea to look around.
I’ll be glad to here some of your insights on this and learn about new places to learn from if I missed any (and I’m sure I did).
Liviu
Share on Facebook