Hey, today we will talk about how to get started with iOS Development and not ruin your budget 😉 Ok, so let’s start.
If you want to learn Swift syntax, you can do it on Windows, Linux, or Mac OS, but if you want to write iOS apps you definitely need Apple hardware. If you already have a Macbook, iMac, or Mac mini you can skip this section, but if you don’t, then there are 2 ways, either you will buy a new device or used one. If you can afford it, go and get new Macbook Air or Mac Mini, both of them have an ARM processor and will be absolutely enough for iOS Developer for a couple of next years. If you cannot buy a new mac, then a 2 or 3 years old mac mini, MacBook, or MacBook Pro will be also good enough to learn and develop apps for the next 2-3 years. I intentionally don’t mention iPhone in this section, because to get started and learn iOS Development you really don’t need iPhone.
The good thing is that there is only 1 app, that you need, and it’s free! You need XCode and you can download it from the App Store on your Mac. Luckily XCode contains everything that you need, IDE for playing with code, and a lot of simulators, so you can test whatever you have developed for iPhone, iPad, or iWatch.
Ok, so you have Mac, you installed XCode and now it’s time to get started learning. As usually there are multiple ways to start, some need the money and some are free. Let’s focus on those, which are available for free, as there are lots of them and they are absolutely good enough.
- CS193p iPhone Application Development Stanford Course – this was actually my first online video course I’ve ever watched, also first course about iOS Development. I watched it around 2010 (yep youtube existed back then and Stanford was publishing this course that time). I’m not up to date with current content, but I remember this way great and I bet that current content is just an evolution of the one that I was using for learning back then. I always suggest this course as it’s free and well structured and allows to learn a lot in academic style https://www.youtube.com/playlist?list=PLpGHT1n4-mAtTj9oywMWoBx0dCGd51_yG
- Apple Documentation – it’s also free and goes step by step to help you understand iOS layouts and data flow. Each section shows a process of building a simple app, so at the end, you always have a working app, that you can play with https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/
- WWDC Videos – most of them are not suitable for beginners, but if you want to dig more into some topic, for example, storyboards, then you will definitely find there a lot of great presentations by people who are building these things, they really understand what they are talking about. You can watch WWDC videos in your browser, by visiting https://developer.apple.com/videos/all-videos/ or you can download the Apple Developer app from the AppStore on your mac or iPhone save some videos, and watch them even without an internet connection.
- Blogs and Youtube channels with iOS tutorials – this is also a great source of knowledge, however, blogs and youtube channels are usually a mix of content for beginners and more experienced developers, this is why I suggested starting with Stanford Course and Apple Documentation. If you will understand the basics, it will be much easier to follow tutorials explaining more sophisticated things. Ok, here is the list (without any specific order, just choose a person whose style of explaining is best for you):
- Let’s build that app – https://www.youtube.com/channel/UCuP2vJ6kRutQBfRmdcI92mA
- Code with Chris – https://www.youtube.com/c/CodeWithChris/videos
- Hacking with Swift – https://www.hackingwithswift.com/learn
- Ray Wenderlich – https://www.raywenderlich.com/ios/ (not all resources are free, but there are tons of free content so you can learn a lot)
Ok, that’s it, I hope you enjoyed this post and it will help you get started with iOS Development. If you have any questions, feel free to ask in the comments section below. You can watch the video version of this blogpost on my Youtube Channel: https://youtu.be/y2rSZjU64PA