From time to time, I get asked, “Where do you begin in making an app?” In this article, I’ll try to break it down for you. Keep in mind that things might get a little technical as I go along. I will, however, make sure to circle back and break them down to simpler terms.
The first thing you want to consider is that creating an App (or in its correct technical terms, “Developing an App”) involves several stages such as ideation, design, programming, marketing, and maintenance. In what follows, I write a brief about each of these, and in doing that, hopefully, I manage to make you a little more familiarized with the terminology of App Development (or “App dev” in short):
- Ideation; this is where you come up with your app’s idea, find similar (competitive) apps and do a bit of market study to know who (and why they would) download and use your app. In a slightly better approach, you need to ask yourself, “who would benefit from this app.”
- Design; there is an entire field of UI (user interface) and UX (user experience) as well as visual design, interaction design, etc. But if you are in your early attempts, you probably are only going to sketch some designs. That’s basically putting what you have in mind (for how your app works) on paper. There are gold standards from Apple and Google. These are both hefty documents with specifics such as color, typography, navigation, etc. I am gonna assume you won’t be able to go through these. So, do this; if you are designing an app, try and draw inspiration from other apps. This way, you will know that your design will be familiar to your users. I don’t mean to copy their colors or logo. But think about how the Gmail app shows you a list of emails (in a table), or how when you tap on a friend’s name on Whatsapp, you are taken to a new view (navigation), or any other similar pattern that you commonly find in other apps.
- Programming; this is a writing code that enables the actual app, tests it, and allows the app to function. We will talk about this in more detail in the rest of this article.
- Marketing; part of your marketing was the ideation. Now that you have an app, you should advertise and reach it to the hands of those who could benefit from it. Keep in mind, there are over 3 million apps out there. So it won’t be viral on its own. It’s up to you to reach out to people.
- Maintenance; any programmer worth their salt would admit that their code could always get better. Sometimes, there is a bug, or maybe a new feature has to be added. Other times, users complain about something. So, prepare yourself for maintaining your app and adjusting it from time to time.
Programming
Now, let’s talk about programming. We assumed we have an idea for a specific app, we doodled some designs on paper, and we know how to reach those who will download and use our application. Now, we should figure out how we can begin with programming our application.
Platform
The first thing is the platform you choose. The platform is the operating system of the phone. You could develop it for iOS or Android. Of course, there are other mobile operating systems out there, but these are the major player. Now, I know it might be tempting to develop a cross-platform application for all three billion users and be the king of the world, but it is unlikely that you can manage that on your first try. A cross-platform app is an app developed to work on at least two platforms (e.g., an app that works on iPhone, Android, Web, Windows, Mac, etc.)
How to choose a platform
So which one should you choose? iOS or Android? Well, that depends on many factors. However, I am only gonna talk about those that relate to beginner programmers:
- Do you own an iPhone or an Android device yourself?
- The people you hope are gonna download your app, are they mainly iPhone users or Android users?
- Where do you live? iPhone and Android have a different presence in different countries. For instance, there are more iPhone users in Canada, while you’d find more Androids in Germany. (You can see the various presences Here.)
- Another major deciding factor is your computer. You can develop an Android app on almost all computers like Macs or Windows PCs. The same is not true for the iPhone, though. For iPhone, you necessarily need a Mac computer.
Tools
So, once you decided about the platform, the next thing you’d need is to get yourself the right software. The software used to create apps is called an IDE. IDE stands for Integrated Development Environment. In layman’s terms, it is software that makes other software. In the same way that we use Microsoft Word to create text documents, we use IDEs to make other software such as Microsoft Word itself. Or, in this case, mobile applications. However, we’d need an IDE that can develop an iOS or Android application for mobile development.
This is where things get a little too technical; the way an IDE works is to allow for the development kits of different platforms to be installed on it. A development kit (called an SDK; software development kit) is basically a series of programmatic instructions that allow the software to be made for a particular platform. For instance, you might install an iOS kit to develop iPhone apps or install a Windows kit to develop Microsoft desktop applications. But not every IDE supports every framework, and not every IDE works on your computer, and of course, they each support different programming languages.
Which IDE should we get?
I know this got a little too technical. Let’s simplify the process a bit. If you want to develop an iOS app, you need an IDE called Xcode from Apple. If you’re going to create an Android app, you need Android Studio from Google. The good news is both Xcode and Android Studio are freely available, and you can simply download them. (You might want to keep in mind that these are not the only ways, there are other IDEs and approaches for creating mobile apps, but these are the official and default methods suggested by both Apple and Google)
Each of these IDEs has built-in tools for coding, designing interfaces for your apps, and simulators to test your applications on your computers. That’s why they are called IDEs — integrated development environments. They do from A to Z of making an app in one place.
Programming language
Now, once you got yourself Xcode or Android Studio, you’d also need a programming language. Among 100s of languages, we use Swift programming language for iPhone and Kotlin for Android app development. Both Swift and Kotlin are modern, elegant, and sexy programming languages with great performances that make writing code fun and easy. Also, they are built into Xcode and Android Studio. So once you get either of these two IDEs, you are set to get started and do the entire process of your development in just one software.
Ok, What should I do now?
Now, what should you do? With all these terminologies and names, Xcode, IDE, Framework, Swift, Kotlin, etc. If you are new, don’t worry overly about it. Get started with the platform that makes more sense to you. Choose iOS if you own a Mac computer or Android if you have a Windows PC. Head to the official download links, get your copy of Xcode or Android Studio, and begin with some Android or iPhone starter tutorials. You will soon know enough to be able to craft your way forward. And if you thought you’d want to get serious about app development, you can join either my Complete iPhone Developer or Complete Android Developer courses.