How to Create, Sell and Maintain an iPhone or iPad App
Finding Great Learning Resources
In this article, I’m not going to do any coding. I’m not even going to look at the iOS SDK. I’m just going to point you in the right direction and give you lots of great resources for learning iOS App or Game Development.
When you are learning anything, it is crucial to have a good support network. At school this is usually comprised of your teachers, friends, parents, private tutors, etc. But when you tackle something like iPhone development, chances are pretty good that none of these sources will be able to help to you. So where do you turn when you are stuck? Who can you ask for help? I say the Internet.
The internet is an incredible wealth of resources for aspiring iPhone developers. So here is my guide to how to teach yourself iPhone programming.
- Start by going through at least a couple series of videos to give yourself a “crash course” in the basics. Focus on the syntax of the code, and the large-scale idea of what it accomplishes in your project.
- Copy code. Dont just watch. If you follow along with the projects in the resources listed below, you will gain a much deeper knowledge than if you just watch the videos. You know its true.
- Dont be afraid to pay. If you are committed to trying to make an iphone app which you will sell on the App store, you should definitely invest in a couple books. The internet is great, but books are good too (and don’t take up any screen space).
Note: I will try to update this list, so if you have any other suggestions that helped you learn put them in the comments or email me.
- Youtube is absolutely the best place to get started. Personally I learned from the following channels, and found them all to be pretty good:
- thenewboston. Here are the 3 courses of videos from thenewboston:
- 71squared (Intermediate Games)
- The guys behind this website have written a book about how to create an RPG dungeon exploration game for iOS, which I read and found great, but as far as I know, there isn’t a new edition since XCode 3.
- Their channel has videos, and their blog has written tutorials and excerpts from their book. All great.
- SimpleSDK. (Beginner – Intermediate)
- I dont know a lot about this guy, but he seems to have tons of views on youtube tutorial videos he made when he was a kid. Some videos are better than others, but he tends to move quickly and skip over some of the explanations.
- If you aren’t willing to pay for tutorials, these are definitely the best place to start. They get you up and coding immediately. I found thenewboston to be the best for absolute beginners, since he explains the reasoning behind everything he does and covers lots of stuff that is applicable to all programming, and not just iOS.
- Follow along with these tutorials and copy their code. It gets you used to the syntax and the method names and conventions
2. Forums – StackOverflow.
- Forums are where you go when you get stuck. These are usually more helpful when you’ve started your own project and need to get help with a specific problem you’re facing.
- I am an active user on StackOverflow, which is in my opinion, the best computer programming forum online. Be aware, though, that it is used by developers of all programming languages, so make sure you are specific in naming, tagging and describing your question, to make clear you are working in objective-C for iOS.
- Forums are not only good for asking questions, but also for reading answers to other questions. You should always try to search for an answer before actually asking a new question.
3. Forums – Apple Developer Forums.
- These are another great resource, but as far as I know you need to be enrolled in a paid developer program to access them. I personally waited almost a year before taking the plunge and buying into the developer program, since I felt I didn’t need to invest 99$ until I was close to being ready to test my game.
- Do note, however, that these forums have lots of real engineers, employed by Apple, answering questions. So if you have trouble getting a decent response on StackOverflow or other forums, try here. You should be able to find someone to help you out.
- Somewhat hard to parse
- Many styles of documentation. Apple kindly follows a nice naming convention in their documentation. If the title of their document includes any of the following words, you’ll have an idea of what it covers.
- Class Reference
- A “class” in Objective-C is essentially an identity for an object, that tells you what kind of object that is. Each class has a different purpose and a different set of methods and functions that are tailored to make that class useful for something.
- A class reference codifies all the capabilities of a given class: its methods, properties, protocols, and usually a brief description of the purpose of the class.
- You pretty much need to already know the material. A class reference isn’t instructional, but it is informative. You should probably just use class reference to “refer” to and check stuff.
- Programming Guides
- These are instructional booklets on a topic. They aren’t all written in exactly the same format, but they are generally good for programmers of any level of experience.
- While the class references can be full of jargon and sometimes hard to interpret for beginners, the programming guides are educational and thorough learning tools. Much easier to read.
- Release Notes
- Keeping up on what has changed in this version
- Class Reference
5. iTunes U
- For some reason, universities all over the world are putting their courses on iTunes U. It might seem like they’re giving away thousands of dollars worth of education for free – and thats because they are! So take advantage of this.
- These courses represent a more significant investment of your time, but they will provide you with general information of computer science, which I personally found extremely helpful in designing a large-scale project.
- There are FULL COURSES including assignments, guest lectures, course notes and demos. This is a spectacular way to advance a moderate knowledge of iPhone programming to a more full understanding.
- These are free! all you need is an iTunes account. I think iTunes asks you for a credit card, but it wont be charged if you dont actually purchase anything.
- Advanced iPhone programming
- Harvard Computer Science
6. Blogs and Websites
- Ray Wenderlich
- Cocoa Manifest
- Matt Gemmell
- Brett Terpstra
- Marco Arment
- Ash Furrow
- Do you have a blog about iPhone programming? Email me your link.
Books are great. I personally love having a hard copy reference to flip through, but more importantly, I find it easier to learn from a real book.
- iOS5 Cookbook
- iPhone 4 Development
- Learning iOS Game Programming
- Big Nerd Ranch Guides
8. Paid Programs
Paid programs are, no doubt, a great way to accelerate your learning. Many of them feature real people that you can contact and ask questions.
9. More Resources and Source Code