Congratulations! You have decided to become an iOS developer and perhaps make a career out of it. So now it's time to get started learning the application framework. So here are my recommendations of online video courses to go through to get your feet off the ground.
3 Online Courses to Kick-Start Your iOS Developer Career
Written by
Taking on the task of learning to develop native iOS apps can be a complex process. Especially if you haven't planned out a learning path of the important aspects of iOS. Don't you worry, novice iOS engineer, this is where online video courses come to the rescue. These can get you started on the right foot in no time. The learning path will already be planned out and different concepts to learn are quite often explained in an easily consumable manner.
This post will walk you through 3 great courses to get you started doing iOS development. The courses below are ordered in the order they're supposed to be watched. From lowest to highest complexity.
Angela Yu - The Complete iOS App Development Bootcamp
The course The Complete iOS App Development Bootcamp from Udemy is a sure bet to hit the ground running as a new iOS developer. In fact, even newly started programmers can follow it, as the basics of OOP are explained using the Swift programming language. Angela Yo is a fantastic instructor with her style and in-depth explanations. The course will teach you how to build 12 different iOS apps. Mostly small projects to teach you specific concepts but the final apps are larger and introduce different ways of persisting data, such as using Core Data, Realm and Firebase.
The entire course is 50 hours long. About 30 hours of the course are spent purely on iOS development. The remaining 20 hours of the course teach you how to make a successful one. This part covers topics such as the fundamentals of UX design, app monetization methods, getting press coverage etc.
This single course wont teach you how to write clean code or applying any sort of architecture to your app. But you will be coding a lot of apps which is great for the untrained iOS developers. Moving on!
Let's Build That App - Instagram Firebase
Now that you have had some training, it's time to take you for a challenge. The course Instagram Firebase is created by Brian Voong from Lets Build That App. It's an intermediate level in complexity, a certain step up from the complexity level of the previous course. In this course you will be building a single app during the 40 hours of the course. The app is an Instagram clone with a layout almost identical to the original Instagram app.
Brian Voong is very straight to the point but you may have a hard time following some of the sections. The reason being that there isn't much explanation of the concepts behind the code being written. This is why you need some background knowledge which you'll get from the first course. But what you will get from this course is an experience where you put all your knowledge together and build a large and professionally looking app. It's an app that you would be proud to submit to the App Store.
The first course briefly covers Firebase but after this one you will become a Firebase wizard as it's the data storing option used. Another useful thing you learn from the course is how to write layouts programatically using Auto Layout. If you've only been using the Storyboard by now, you'll experience a lot of benefits writing layouts programatically. I will go over these in a future blog post.
Unfortunately by now, you'll only have practical experience using the MVC (Model-View-Controller) design pattern for architecturing apps. This results in huge view controllers as the UI logic and business logic are mixed up in the same files. Because of this, the next course will come in handy. Let's go over it.
Cocoacasts - Mastering MVVM With Swift
Now it's time to learn to build an app that is going to be easily maintainable and testable. The course Mastering MVVM With Swift by Cocoacasts run by Bart Jacobs isn't as long as the two other courses. It only takes a few hours to get through. What you will be building is a weather app like the one preinstalled in iOS. It might not feel like a step up in complexity. That's because there isn't much new covered in terms of iOS concepts. But what you will learn from this is how to architecture apps using the MVVM (Model-View-ViewModel) design pattern to reduce the size of the view controllers you have created by now. Another thing you will be introduced to during the course is basic reactive programming using RxSwift.
Later in the course, you will be writing unit tests for the view models. I'm sure you'll appreciate the benefits regarding testability that the MVVM pattern offers. After this course, you should have the knowledge to make a nicely organised app that you can be proud of. You will only improve from there as you get some practice by creating your own apps.
Conclusion
In this post, we looked at 3 courses of my personal recommendations that will take your iOS development abilities from zero to being well-rounded as fast as possible.
Thanks for reading. Remember to leave a comment and share with your fellow developers.
Share this post
Facebook
Twitter
LinkedIn
Reddit
You may also like
Process
Eliminate Crashes & Incidents in Mobile Development Teams
Defect management should not be a phase in the lifecycle of an app, but instead a fundamental part of an agile process. Here is my recommendation of processes to enforce defect management into your team’s daily workflow.
Automation
How to Generate API Client Code in React (Native) Apps
Keeping your API client code updated whenever there’s a change in the back-end rest apis and models is tedious and error prone as a front-end developer. A better way would be if the API client code was kept updated automatically so you have one less thing to worry about.
Automation
Automate Screenshot Framing with Text Using Fastlane
Framing your App Store screenshots greatly improves your store listing. But doing it manually takes hours away from perfecting your app. Instead, here’s how you automate the process of adding device frames and text to your screenshots.