When I was beginning with iOS development I’ve collected some tutorials, lectures and beginner’s guides that were most helpful for me. Here they are! I recommend studying them in particular sequence starting with top of my list. You can also study my notes from Stanford University lectures. Enjoy!
1. Create Your first iOS app: I recommend starting with very simple Hello World! from Apple, rather than reading too much at the beginnig. Just make this app with step-by-step instructions. After that, step further
2. Get familiar with Objective-C: (if you are new to it) learning Objective-C mens learning syntax and some specifics. If you already are experienced with objective languages, it won’t be hard
3. Get familiar with mobile app development: Read this short guide if you are new to mobile app development
4. Watch Stanford’s University iOS lectures: these are pretty long, however helps to get bit more detailed outlook than tutorials. Not all lectures are required and worth watching, rather giving you basic knowledge than practice (see details below in more section).
It is worth to watch them all just to know that particular features and APIs exist. You will investigate them deeper when you will need them. Here are my notes from these lectures (use XMind to open file). Detailed lectures description:
- Introduction to Mac OS X, Cocoa Touch, Objective-C and Tools – don’t watch his one :P It is made for course attendees. Step to second screencast
- Using Objective-C, Foundation Framework – you can skip it if you know Objective-C already
- Custom Classes, Object Lifecycle, Autorelease – still about Objective-C, however Object lifecycle and Reference Counting are worth watching. You can ignore all that release, retain and autorelease stuff if you use ARC (Automatic Reference Counting).
- Building an Application, MVC, Nib Files, Controls – iOS app development best practices, design patterns (MVC), user interface building. Watch out: starting with iOS 5 you can use Storyboards instead of Nib files (this is not mentioned in this course)
- Views and Drawing, Animations – Basics about custom views (User Interface)
- View Controller Basics – focused on controller from MVC. View Controller is used in every app, so it is vital.
- Navigation Controllers – good lecture about navigation in apps: Navigation Bar and Tab Bar are very common app components
- Table Views – vital: Table View is used extremely often in mobile apps
- Dealing with Data: User Defaults, SQLite, Web Services – quite boring however extremely useful. Shows how to connect your app with various data sources and use persistence in apps
- Performance and Threading – watch if you are ot familiar with performance issues in mobile apps
- Text Input and Presenting Content Modally – mostly about keyboard types and some useful tool to analyse your code
- Address Book: Putting People in Your App – wath when you need to use iOS address book
- Debugging Tips, Searching, Notifications, KVC/KVO – must watch. XCode debugging is not as easy as Eclipse Debug. Also notifications are worth knowing
- Touch Events and Multi-Touch – watch if you need advanced touch events analysis in your app (for example in games)
- APIs: Location, Accelerometer & Camera, Batteries – good to watch if you plan to use these APIs
- Audio APIs, Video Playback, Displaying Web Content, Settings – same as above
- Bonjour, NSStream, GameKit – covers networking: automatic configuration in Bonjour, asynchronous communication in NSStream, and GameKit
- Unit Testing; Fun with Objective-C; Localization – good app needs to be tested :)
5. Watch some practical iOS screencasts: Dani Arnaout posts good videos on YouTube. He shows how to write code, so the essence. This is where I learned the Storyboard concept for instance. Tutorials are not the best ones, sometimes seem to be very trivial, however Dani is dominating the youtube iOS tutorial channel. I also am impressed with his initiatives and his young developer team friends (13 and 14 years old guys!)
5b. This guy is 14 years old and his screencasts are awesome! particularly this one. He seems to really master iOS development. He is from Singapore, therefore I also really admire his english. I am sure that you will find a lot more good videos on youtube.
- Learn using Design Patterns: since they are really enforced in iOS apps
- Read books: Find the one that is currently the best on Amazon and read it to improve your knowledge and feel like advanced iOS developer
- Practice, practice, practice…
Did I help you?
I manage this blog and share my knowledge for free sacrificing my time. If you appreciate it and find this information helpful, please consider making a donation in order to keep this page alive and improve quality