Logo Siclo
We shape Technology with Passion

How to choose the right tech for your mobile app development?

time 7 mins
Share

Releasing a new mobile application to its users requires you to go through the full product lifecycle: from conception to design, development, testing and finally deployment, there will be plenty of decisions to be taken. One of the most engaging is to decide which technology will power the App.

And when it comes to mobile Apps, you basically have 3 possible roads: native, web or hybrid.

As always (there would be no fun otherwise), each of these options has its pros & cons, and your choice should depend on your context. Here are a few tips to help you with the task.

 

Native app? Web app? Hybrid? What’s the difference?

To make an educated decision, you need first to understand exactly what each of these options have to offer and their key differences.

 

Native apps

A Native app is an application designed specifically to be used on one particular operating system. It is developed using the programming language provided by the device manufacturer (or its partner): Swift (previously Objective C) for Apple devices and Kotlin (Android Java) for Android devices. Said otherwise, a native Android app can’t be installed (yet run) on an iPhone (and the opposite won’t work either).

Because developers work directly with the device language, they have an easy access to all the devices modules (camera, GPS, accelerometer, all connectivities options...) which allows them to build more performant & advanced features, store logic & resources on the device so the application can work offline (this can be very interesting when you are not sure your users will have access to the web connection all the time) and propose native user interfaces (which explains why a native iPhone app is so easy to recognize as one).

Native applications are distributed through Official stores (App store for iOS and Google Play for Android) and have to be downloaded on the device which uses some precious storage space.

 

Web app

Web apps are another way to make mobile applications: in this case, all the heavy-lifting is done by the browser already installed on your device (Safari, Chrome for the most popular). This is very similar to browsing a website from your laptop, except that the web app will allow you more interactions and functionalities than a website usually designed to provide information to users.

When implemented properly, a web app will work properly on different browsers, at least of the same generations  (that is cross browser compatibility)

Webapp don’t require downloading on the device so don’t use any storage space (great), but this is a double edged sword, as a web app can’t work without a web connection.

Except that we have now...

 

Progressive Web Apps

Progressive  Web App (PWA) are Web app that can load even when there is no network, sync in the background when a connection is available and seamlessly do things while providing a native-like experience for the users. But how is this possible? The PWA relies on the concept of services workers, which are small programs used to store and refresh web files (html, css) and images in the browser cache (on the device), so they are available even without a connection.

The whole mobile developers community is looking at the PWAs because they mix the best of native apps and web apps, but there are still issues down the road.

PWA like web app relies on browsers which in turn needs to support the PWA concepts (service workers and manifesto). This is already done by Google Chrome (PWA are pushed by Google), but Apple is a bit slower to adapt its Safari (browser), maybe because PWAs can be distributed outside the stores (which is a revenus loss for Apple).

Then the technology itself is still in its infancy so the resources & community available are scarce: let’s stay you need a special plugin for your project that doesn’t exist yet, then you may have to wait a long time…

 

What about hybrid?

Hybrid apps are applications that are not coded for one specific OS. Around 80% of the code is common to both platforms and then the rest of the code is specific to each OS. This makes the development of the app more efficient in terms of cost and time. It is written with the same language used for websites and mobile web applications, but is hosted inside a native container on a mobile device. They are built with Ionic, Cordova,

Hybrid app are a good alternative to native apps as they require less efforts to be released for both iOS and Android devices.

 

What should I choose then?

Your choice will strongly depend on your needs, ambition on short/long term, the time you have behind you and also your budget. Here are some pros and cons on each technology to help you figuring out which one to choose.

 

Web app

 

Pros

Cons

  • No need to download

  • No need to update (new versions are automatically available in real time)

  • No use of device’s memory/storage

  • Faster to develop, easy to build, easy to deploy

  • Cost-efficient

  • More open compared to the native apps

  • Build one app for all platforms, as long as it can run in a browser

  • Doesn’t work without an internet connection

  • User experience is less interesting than with native apps. It’s  less interactive and intuitive. URL puts another step in the process so makes more complicated user experience.

  • Slower than native apps

  • Not suitable for some needs

  • More difficult to have access to the smartphone’s features

 

Native app

 

Pros

Cons

  • More stable, fast and responsive because built for a specific platform

  • Access to all of the device's functionalities

  • More powerful, more advanced

  • User experience is the best, fluid, intuitive, interactive

  • Doesn’t always require an Internet connection

  • App is on the home-screen of the user’s smartphone

  • You have to develop one app for each OS

  • Download from a store is required

  • Difficult to appear on the different stores

  • You can be blocked by the constraints of Apple/Google

  • Longer to develop and more expensive. Choosing hybrid or cross-platform can cut some costs down though

  • Not preferable for very simple apps

  • User has to keep downloading updates

 

 

 

Conclusion

Choosing one type of app-development instead of an other really depends on your projects, your needs, the time you have, the budget… Depending on your business objectives and overall goals, this decision can make or break the success of your mobile strategy. Before jumping into development, you should consider the following factors:

 

  • How fast you need the app

  • The quality of the user experience you want your app to have

  • The complexity of features you need for your app to work

 

While  the initial cost may be higher with native app development, this option will save you  time and money in the long run. By offering a great user experience, better performance, and leveraging device features, you’re able to offer users a more personalized experience. The multiple advantages to native will result in higher conversion rates and will ultimately boost customer loyalty.

Every project is unique that’s why it is important to really think about it and to get the best advice, to make the right decision. Siclo can help you know exactly what type of app development you need for your specific project. Our team of experienced French and Vietnamese engineers have a deep knowledge of web and app development and can work with you to exactly understand your needs.

Liked this content ? Sign in to our monthly newsletter to get alike content directly in your inbox.


May 06 2019