The 10 Steps to iPhone Development
From zero to hero
We all want to be a coding superhero, and the number of people entering the profession has exploded in recent years.
It’s never been brighter, as we move to a digital future (who wants to go to the doctor when an App can be used?). That is coupled with the fact that software development can be adequately performed remotely, and you can even learn to be a professional software developer from home.
This guide will step you through becoming an iPhone developer, what you need (and when you need it) and where you should focus your energy.
Get your focus
You will need to get a grasp of what coding is, and where you want to head with your goal of becoming a coding hero.
Coding is writing code that is compiled to form programs, that are run on a computer.
You’ll be using a computer to deploy applications to Apple devices. You should be aware that iPhone developer require an Apple developer subscription that costs $100 a year — but you don’t need to pay that until you have a complete project to release. In fact, to get started you only need a browser to start writing Swift code.
You will need to eventually think about that developer subscription, a Mac and a device to deploy on but that all comes rather later in this development journey.
Understand your goal
If you want to reach a target in life it is probably a little bit easier to find if you know where you are headed first. To put it another way, you need a target now.
Do you want to learn how to program as a hobby?
Do you want to deploy applications to devices, and even sell your applications on the App store?
Do you want to change the world by getting an App on devices through the world?
In any of these cases you will begin to see that coding is fun, gives you skills outside the world of programming and could even secure you a fantastic job working with great people.
With that in mind, and browser in hand…
Choose your language
There are a few different languages that can help you if your aim is to be an iPhone developer. I’ll skip to the end, the choice for beginners is Swift. Yes, there are alternatives but the one you want is Swift.
Here are the alternatives:
Swift: Apple’s preferred programming language, with support for SwiftUI (the newest way of creating interfaces) and interoperability with the older Objective-C. It’s also fast and fun to code!
Objective-C: The traditional way of making iOS Apps. A little slower and a little more complex (in some ways) than Swift, if you are a professional iOS mobile developer you will come across pieces of the language here and there, but most new Apps are coded in Swift these days.
Cross-platform development: There are several options for this from PhoneGap to Unity to Xamarin to ReactNative. My advice. Don’t. These options struggle for speed and often behave a version or so behind native applications — making your App look old and out of date before it is even released. Not only that, support isn’t as readily available as in fully native coding. Now this isn’t true for every situational context you might be in (a React programmer might appreciate the speed of switching to React Native, for example) but for a beginner, yes. Choose Swift.
Go through the basics
There are loads of tutorials out there. Look through the Swift documentation language guide, and for some that will be sufficient to understand the language. Some will look though my profile and see easier to read language support — and this is backed up by tutorials that get you to create Apps within the language.
Remember, a browser to learn the Swift language!
Get a Mac, get a device
To make full applications you’ll need a relatively recent Mac, and an relatively recent iDevice. Some people try to save money by running the MacOS on a PC — this is called Hackintosh. Don’t think about getting a Hackintosh, as you’ll spend longer installing and fixing your machine rather than learning the language.
Get a Mac Mini (or Macbook Air), get an iPhone 8 or newer. You can then use the IDE Xcode, which is the way you will create a App using a suitable guide.
If you sign up to the developer program you can then even deploy your Apps to the App Store (awesome).
Practice, practice and practice
The core language features are important. Also the vital key components of UIKit and architecture design should slot in nicely. But it doesn’t end there — you need to continue practing! A bit of Leetcode to practice algorithms, a bit more Swift and a but of networking…you’ll get there in time.
By saying you’ll get there…you’ll get closer to true competency and understanding of the language and SDK under the hood.
Join the online community
Twitter is a great way to find out what is going on in the Swift community. Get involved, write a blog post or ten. Work your way through Swift Evolution proposals to really understand where the language and ecosystem is headed. I’ll see you there…!
Hack other people’s code
There are loads and loads of open source software projects that you can access online. The greatest thing about this is that you can learn how the best of the best code. In fact, one of the greatest things about Swift is that you can access the language under the hood, and even look at Swift Evolution and see what plans there are for the future of the language.
If you want a hint of where to look — GitHub is fully searchable and you can download and look at code on your own machine by cloning repositories.
There are plenty of resources out there, and there are tutorials all over the Internet. As you progress in your career you will begin to understand how important it is to make sure that the person who writes the tutorial actually knows something about the topic if not you risk learning out of date or incorrect solutions to the problem you are having.
You’ll learn that StackOverflow is fine, but you shouldn’t be copying and pasting solutions straight. But you will start to understand why this is important (because understanding your code means you can implement and maintain it in the future with ease), and you won’t even want to take the short-cut solution.
And, the last point. Keep learning (don’t give up)
Some coders think they are ready to move to management after a year or two coding. They feel that they should be managing people and have oversight over projects without 24 months of experience. They’re missing the point.
Mark Zuckerberg works on VR software in his own time. Just let that sink in for a minute.
The point becoming a software developer is a that it is a worthwhile occupation and one that you need to keep learning and studying throughout the time that you work in the industry.
Back to the future?
You’ve got this. You want to venture into a new future as an App developer? Take it seriously, move through this guide and take your time as with any form of learning.
I know you can do it. Just, you know, practice. Well done!