Top 10 iOS resources
1. Ry's Objective-C Tutorial (rypress.com
If you are a newcomer to programming in Objective-C (or new to programming in general), this is probably the best online tutorial you can get. It covers nearly all Objective-C basics needed to write iOS code. Of course, we know that Swift is the future, but Objective-C is still alive and well, and it isn’t going anywhere. Learn these concepts before you go further.
2. Apple's Swift language guide (developer.apple.com
If you are interested in Swift (and you should be), there is no better resource than Apple’s docs. You can find everything there about the new language: syntax, control flow, collections, classes, syntactic sugars, and some awesome modern features that our 30-year-old fella Objective-C doesn’t support. Generics, tuples or closures are some of the modern benefits exclusive to Swift. My private advice is this—if you are starting with iOS development, learn Objective-C, but master Swift.
3. AppCoda (appcoda.com
If you’ve mastered the basics of the languages above (and it’s your choice which one), you then need to master the Cocoa framework. AppCoda was my ultimate number one site when I started my iOS development journey. It lets you dig in deep with practical and well-written tutorials for beginners, for example: iOS Hello World app, introduction to Storyboards and Auto Layout, creating TableViews, using device camera, sending e-mails and much more. You should definitely subscribe to this site!
Side note: learn specific things when you need them. For example, you don’t have to learn how to take a picture with an iPhone right now if you don’t need it in your current project. But do know where to find this information.
4. Ray Wenderlich tutorials (raywenderlich.com
Ray’s (and his team members’) tutorials are based on the same concept as AppCoda—great, step-by-step illustrated tutorials for beginners. But Ray also offers intermediate to advanced topics like iCloud and Core Data integration, iOS networking, Core Graphics and Core Image, WatchKit and more. There’s enough knowledge here to learn until for a whole year. As a bonus, some are video tutorials (instead of text) and many are free without subscription.
5. NSHipster (nshipster.com
NSHipster is a great resource for specific topics. Want to know about the @IBDESIGNABLE? Or how about the difference between nil / Nil / NULL / NSNull, or what the instancetype is? Read NSHipster and definitely subscribe for interesting content.
Objc.io is a monthly periodical about best practices and advanced techniques for iOS and OS X development. Every release covers some specific Cocoa topic like security, optimizing view controllers, Android(!), iOS architecture or the iPhone camera. This isn’t a resource for learning language syntax or frameworks; it’s best suited for expanding your iOS knowledge in general.
7. NSScreencast (nsscreencast.com
Rubyists have their RailsCast. And iOS developers have NSScreencast. It’s a great video-library resource that covers a ton of iOS programming topics, from basic to advanced. You can learn about the language, system frameworks, and even open source libraries like AFNetworking or RubyMotion. You decide if $9 per month is worth it (spoiler alert: it is).
8. Stack Overflow (stackoverflow.com
This is a non-tutorial site. The well known Stack Overflow is a Q&A place for software developers, not for iOS developers only. If you discovered a bug in your code and have no idea what to do, just type into Google “[yourbugconsole_output] stack overflow” and there’s approximately a 99.97% chance that someone has asked the question before on Stack Overflow AND got an answer! If not, you can ask yourself. Someone will be able to help you.
9. GitHub (github.com
GitHub is a place to share your code with other people. You can create your repositories (public or private), access some great open source frameworks (including the ones by Netguru!) and collaborate with others. Personally, I think this is the best strategy to accelerate your learning experience. I had never collaborated with others before I joined Netguru, and now, after these 2 months, my skills have skyrocketed!
Another perk of using GitHub is that it provides code backup (never worry again about losing your computer or hard drive) and a backup of updates in your code. You simply commit, make some fancy changes in 20 different files and, if you are not satisfied with the results, just discard them or move to another branch (if you are not familiar with git, check out Ry’s resource).
10. Netguru blog! (netguru.co/blog
As our Netguru iOS team is growing, we will definitely write more here about iOS development! Are there some specific iOS topics you are interested in? Let me know in the comments and we will write about them in the future!