As a full-service software consultancy, we at Altitude Labs have shipped mobile apps from version one of an idea to apps serving millions of active users. Our expertise includes native iOS and Android apps, hybrid apps, games and mobile web apps. Our team members have been building mobile apps since the dawn of the App Stores. We’ve build apps with complex functionality from video streaming to Bluetooth connectivity. We wrote these mobile app development notes to share our experience with teams who want to learn more about our mobile app development process.
If you’d like to talk to us about your project, please feel free to contact us.
These notes are on mobile app development. They were written for non-technical leaders, executives and founders. It assumes little to no prior understanding of mobile app development.
If you are a technical person, you might be interested to read our development related articles on our blog. If you’d like us to provide training at your company, feel free to reach out.
If you’d like to read about the design side of things, check out our guides on product design, user experience and user interface design or other processes.
When developing a new mobile app, you have three options: native, hybrid and mobile web.
We like developing native mobile apps when we can because they offer better, smoother and more consistent user experience. We recommend starting with one platform first because it is more cost-efficient to perform product iterations on a single platform rather than two.
A modern mobile application comprises of a frontend or client and backend or server component. The frontend components refer to the mobile apps (iOS and Android. The backend holds the business logic and deals with any data that needs to be stored, updated and retrieved.
The same backend is often used by mobile (iOS and Android) applications and sometimes desktop and other client apps. Hence, it makes sense for backends to be written in a manner that can accommodate the web, mobile and other frontends that will use it.
The best way to achieve this is to separate frontend and backend. The frontend should not be concerned with data storage, so that frontend code remains portable. Likewise, the backend should not be concerned with the user interface, so servers can be simple and easily scaled (see the diagram below).
If you’re developing an app for China and India, apart from language and localization considerations, there are a few development related factors that you have to consider. Because bandwidth is lower and mobile phone hardware is generally more backward, apps must be optimized to be as small in size as possible and contain as few images as possible to improve load time. Furthermore, mobile apps in China and India generally have to be more backward compatible in terms of device and operating systems than apps for the European and US markets.
For further reading about our engineering culture, check out: