Exaud Blog
Blog
Native or hybrid app development?
The mobile market has been growing rapidly with the number of users increasing every year… Posted onby Tiago MoraisThe mobile market has been growing rapidly with the number of users increasing every year – for 2017 the number of mobile phone users is expected to reach 4.77 billion – turning this industry very attractive for developers to work.
However, mobile application development is becoming more challenging with developers migrating to cross platform application development tools in order to reduce cost of development and reach out to maximum users. But what does this means for the app developer? It means there are big questions about what method to use in the development process: native or hybrid?
This discussion started a few years ago but is still present in the
beginning of almost every mobile app development project. To make a good
decision it is necessary to have in consideration the pros and cons of both
approaches and also the project requirements, budget and time, among other
small things.
Although the arguments for and against each process are
mostly known, I will pass briefly to the major ones in my opinion.
NATIVE APPS
Pros
• Better performance because the code is developed and refined specifically
for a given operational system and for the hardware of the device – this
benefit is particularly important when developing high-performance
applications and games.
• The UX could also be better because all OSs have some individual characteristics and with native development it’s possible to follow their guidelines and develop an app that feels natural to the users of a particular OS.
Cons
• The principal arguments against native development are related with the cost of the project because it’s necessary to develop and maintain multiple code bases which normally leads to the need of more developers and, eventually, more time.
HYBRID APPS
Basically, hybrid apps are web apps hidden behind a native app shell. The pros and cons of hybrid development are almost the exact contrary of the native development because normally these are developed using cross-compatible web technologies which are then wrapped in a native app using dedicated platforms.
Pros
• The cost and time are inferior to the native development because it’s only
necessary to develop and maintain a single app. It’s also possible to use,
among some possibilities, the most well-known technology, instead of being
restricted to the native technologies.
Cons
• The cons are related with the performance, interface and features of the
app because with hybrid development normally it’s not possible to use all
the capabilities of the OS or device. Some features are only reachable with
native development and the interface is more generic as it’s to be used in
all the target OSs. Also, the approval from the app stores is worse when
submitting hybrid developed apps.
It’s also important to have in mind the platforms to develop hybrid apps because they are getting better and new ones can appear in the future. The most accepted ones are: PhoneGap/Cordova which uses web technologies like HTML5, CSS, Javascript, etc. and it’s possible to use some frameworks to facilitate the development. Xamarin it’s another possibility because it basically gives you all platforms and, to some extent, a native look & feel, while only using C#. There is also a new interesting platform called Multi-OS Engine from Intel which enables developers using their Java expertise to develop multi-platform apps with the promise of not compromising the native look & feel and performance. This is a very promising platform but right now it’s only the preview version is available.
So, what’s the answer?
To conclude, in my opinion if you have a reasonable amount of development
time and budget, you should go for the native development but the hybrid
approach can be a good option to develop some low requirement app in a short
amount of time.