How To Build Mobile Apps
A common question I am asked when I tell people I’m a software engineer is this: “I’ve got an idea for an app. How do I build it?” So in this article I’m going to explain a little bit about how to build mobile apps.
Now I don’t mean to be flippant, but asking a software engineer how to make a mobile app is like asking a surgeon, “How do I do a heart bypass operation?”
At the end of the day, apps are software. And even seemingly simple mobile apps can be quite complex from an engineering perspective.
There Are Multiple Ways To Build Mobile Apps
In 2022 there are several ways of building mobile phone applications because there are multiple programming languages and frameworks you can choose from to construct your app.
If you want to build an iOS app, you could use Swift which has become Apple’s programming language of choice. But there are reasons why you might not.
An application built in Swift will only work on iOS. Which means Android users cannot use your app.
The challenge of building applications for both iOS and Android has produced the need for cross platform programming languages and frameworks such as React Native.
The advantage of using React Native is that you can create an iOS build and an Android build from a single JavaScript code base. This potentially cuts your workload by 50%. But if your app relies on native functions, React Native may not be suitable.
As you can see, how you build a mobile app is already complicated before we’ve even started building it.
How To Actually Build A Mobile App
Once we’ve made decisions about our programming languages and frameworks, we need to design the actual app. Most apps are a series of screens which pull data from APIs. Any computing that needs to happen is done on a server somewhere on the internet. This architecture is a good idea because it means mobile phone apps can perform complex operations without putting demands on the local tech within the phone. After all, there are hundreds of different handsets available and it would be great if our app performed the same on all of them. This would not be possible if actual computations were done on the mobile.
Another important thing to know is that apps do not work like websites. A webpage can link to any other webpage with relative ease using an a tag. Apps are constructed more like a house. You cannot access any room from any other room.
Simulators
Both iOS and Android have simulators which allow you to test your app in a laptop before downloading it onto an actual mobile device. These simulators are useful up to a point, however, just because an app works perfectly on a simulator doesn’t mean it will work on a mobile device – much to the frustration of mobile developers everywhere.
Debugging
You may also find your app does not behave as expected in certain scenarios. And you’ll have to spend time trying to figure out why and then finding a fix for it.
Distribution
Distributing your app is another headache all of its own. Once we start to aim at public distribution we began to invoke legal work and other such admin not associated with actually building our app.
In Conclusion
I hope this article has given a brief overview of the process of app creation and illustrated that it is not at all simple.
A common question I am asked when I tell people I’m a software engineer is this: “I’ve got an idea for an app. How do I build it?” So in this article I’m going to explain a little bit about how to build mobile apps. Now I don’t mean to be flippant, but asking a…