For me, it all began in 2008 when I first started playing around with iOS.
That was 14 years ago.
But in 2014, when I was attending my first WWDC in San Francisco. Swift was officially released, and just like that – I was back to being a junior developer.
The iOS development community was very excited for a new beginning. So when I got back home I started to share all the news with my colleagues and created a new repository called Awesome Swift (let me know if you’ve heard about it!). The idea behind it is pretty simple: share all the best Open Source Swift libraries that you like or have created so far with the rest of the world (just one rule: they need to have at least 20 stars.)
This is how I started with Swift. But today, the language is already 8 years old, so it becomes a totally different story for beginners. It's why in this article, we’re going to talk about everything you’ll need to begin your journey with iOS and Swift in 2022. Let’s get started!
The iOS development essentials
First off, we'll talk about the basic tools you'll need at the very beginning of your journey with iOS development.
You will need a Mac, no matter whether it is Intel or Apple Mx CPU-powered. Even a simple Mac Mini will do the job. It’s a bit of an investment, but looking for used or refurbished options can help you save some money in the beginning.
You’re probably already wondering: do I need an iPhone? You’ll be happy to know that you don’t, at least not at the start.
You won’t start learning iOS by using any hardware (camera, Bluetooth) or sensor (accelerometer, gyro, etc.) for sure, so the simulator that comes with the integrated development environment (IDE) is more than enough.
Now that you have your Mac, create an Apple ID (if you don’t have one already) and use the App Store on your Mac to download Xcode.
What is Xcode? Some developers will tell you that it’s a panacea to all ills, but the reasonable answer is that Xcode is Apple’s IDE... that will help you in getting frustrated at each new release (that one’s not a joke, sadly.)
The truth is Xcode is a powerful application, but it’s neither bug-proof nor the best one on the market. If you want to try something new, AppCode by Jetbrains is very promising, but has some limitations (eg. SwiftUI preview is not working).
All right: we have a Mac, and we have our Xcode. Now, for the fun stuff!
Before starting to code, whether you are an experienced developer or just a newbie, I advise you to start familiarizing yourself with MacOS if you are coming from Windows or Linux. It will take you a week or two maximum, and it’s a good time investment.
If you are interested in preparing your Mac as the best machine for development, I can suggest having a look at my GIST where I prepared a script to auto-setup my bare new Mac devices as soon as I start them. I also advise some reading about Brew, and trust me –it will become your best friend once you dive deeper into iOS development.
In order to start your journey with Swift itself, it’s best to familiarize yourself with a couple of things:
Download one more application from the App Store: Swift Playgrounds. This is a really neat way to approach Swift, and it was created by Apple itself. Some tasks may feel a bit easy, but they will help you to understand the foundations of the language.
Then, reach for the Apple Swift Fundamentals ebook. It will serve as a nice support resource for the information you’ve already learned.
For learning the commercial use of the language, start doing the famous 100 Days of Swift course. This is a program that will allow you to familiarize yourself with Swift in just over 3 months!
For learning something more UI related, check out the Swift UI 100 days course that will help you better understand the subject.
All of the things we’ve mentioned should give you a solid year of studying, and you’ll have your basics covered!
Becoming an iOS developer in 2022
Being an iOS developer can be challenging, especially when a new release comes in. Each iOS release is always a bit risky for your code. We have a beta version of the current iOS, and that helps to address issues in a preemptive manner, but it's only when the Golden Master release comes out that we’ll be able to breathe and relax a bit.
That said, Apple is constantly improving and introducing new cool features for iOS, watchOS, and macOS. You can build an app for your iPhone, iPad, AppleTV, Apple Watch, and Mac mostly with a very similar codebase, which is a huge step forward compared to how things were a few years ago.
So if you’re sold on the idea of becoming an iOS developer, you’ll probably have one question in mind: if I invest the time in doing all the homework mentioned, will that be enough to land me a job?
I could lie and say yes, of course, but that wouldn’t benefit you in any way. Nevertheless, there are a couple of things you could do to maximize your chances:
Try to create your own app! If it looks and performs well release it on the Apple Store. It’s very useful for your resume.
If you notice a library could be useful while working on your projects, consider creating one and sharing it on GitHub (and remember to add that to awesome swift if it has more than 20 stars!);
Consider participating in hackathons with a friend or creating teams on-site. You can do some networking and learn a lot over there (tip: bring a lot of coffee);
Last but not least, always share projects, playgrounds, and ideas on GitHub. It will help a lot to evaluate you as a candidate.
If you want any further advice on how to become an iOS developer, feel free to drop me a message, and I’ll gladly answer your questions.
And if you're already looking for a job in iOS development – check out our careers page!
Good luck on your journey!
Mobile Team Lead