Obtaining beginner's experience through the net can give you knowledge about the best online resources for iOS developers. Here's our share for all of you, future iOS masters!
Hello there, future iOS developer! It’s my first post here on the Netguru blog, so you may not know who I am. My name is Paweł and I’ve worked with Netguru since January as a Junior iOS Developer.
My first steps in iOS development
Only three months ago I was a lone, self-taught developer-wannabe without any real experience or serious background. All of my programming knowledge came from the Internet, made difficult by a sea of outdated (or flat out wrong) information. However, that experience has given me knowledge about the best online resources for iOS developers, and I’m here to share those with you.
So here it is—the top 10 online resources that helped me land my first-ever programming job!
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.
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.
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.
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.
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.
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).
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.
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).
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 more about mobile app development in the future!
Thanks for reading. Subscribe to our feed and… see you next time!
As we are in love with Ruby on Rails, you can find loads of RoR resources on our blog, too. Here's just one post on these - feel free to dig for more!