Our expertise

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.

Who should read this?

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.

Native, hybrid and mobile web apps

When developing a new mobile app, you have three options: native, hybrid and mobile web.

Native apps are written in the native language of mobile phone, which is Objective-C for iPhone and Java for Android. Hybrid applications are written in a foreign language, mostly Javascript, and are launched as a web application wrapped in a native application. Mobile web applications are the mobile experiences you get when visiting websites on your browser.

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.

In instances where the ability to rapidly iterate is important, we choose a hybrid or mobile web approach. We use Cordova and Ionic for hybrid mobile apps. We have tried other technologies such as Titanium and alternate Javascript frameworks. We are pretty excited about a framework developed by Facebook called React Native that translates Javascript into native language.

Structure of modern mobile applications

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.

Structure of a mobile app

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).

Developing mobile apps for China and India

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.

Further reading

For further reading about our engineering culture, check out:

Back to about us

We'd love to hear about your project!

Let's chat