My Daily Android

Tutorials, tips, guides, manuals, opinions and reviews

Wednesday, 25 April 2018

Native Apps vs Hybrid Apps...Which way to go




One question routinely surfaces in today’s modern development landscape — whether to build a mobile Web site versus a native app versus a hybrid app. As a developer, you need to take the time to think through a few considerations before running off to develop software. Let me break down the two approaches for you and then you shall decide which way to go.

Native Apps

Native apps are written in a programming language specific to the platform they’re being developed for. This would typically be Objective-C or Swift for iOS and Java for Android. Native apps typically have better performance with rendering and animations than hybrid apps.

Hybrid Apps

A hybrid app is a mobile app that contains a web view (essentially an isolated browser instance) to run a web application inside of a native app, using a native app wrapper that can communicate with the native device platform and the web view. This means web applications can run on a mobile device and have access to the device, such as the camera or GPS features. Hybrid apps are possible because of tools that have been created that facilitate the communication between the web view and the native platform. These tools are not part of the official iOS or Android platforms, but are third party tools such as Apache Cordova, which is used in this book. When a hybrid app is built, it will be compiled, transforming your web application into a native app.

Below is an image I found after doing a small Google Search. It briefly summarizes the 2 approaches.


There are so many hybrid mobile frameworks such as Ionic, NativeScript, React Native, Xamarin, PhoneGap etc. I decided to compare native apps with top 2 hybrid frameworks — Ionic and React Native.

Ionic

Ionic is a framework that essentially allows developers to create hybrid mobile apps using web technologies like HTML, CSS and JavaScript. A hybrid mobile app is built using technologies typically used for the web. Hybrid apps are hosted inside native applications that allow them to access the device’s camera, pedometer and other functionalities,removing the need to develop for any specific device or operating system. This basically means that you are creating a website wrapped up inside an app.

React Native

React Native is a framework developed by Facebook for creating native-style apps for iOS & Android under one common language, JavaScript. Unlike hybrid apps, native apps are built especially for the platform they’re to be used on (iOS,Android etc). React Native allows a proportion of the code to be shared between platforms and empowers developers to create apps which feel less clunky and perform better than hybrid apps. With both React Native and Native apps, gestures like pinching or double tapping work in the way you’d expect them to work on your operating system.

My Opinion....Native vs Hybrid

Native wins....

I decided to ask the question of native vs hybrid on a Facebook Android developers group and Native won hands down..Here's a screenshot of the poll..



Share your thoughts and opinions and let me know which way you decide to go in the comments below.....

Happy coding 😀 😀⌨️

No comments:

Post a Comment