difference between native app, web app and hybrid app | native app vs web app vs hybrid app
This page compares native app vs web app vs hybrid app and mentions difference between native app, web app and hybrid app. It mentions basics of these apps and mentions how they work. Moreover it covers pros (advantages) and cons (disadvantages) of native app, web app and hybrid app types.
What is Native App | How Native App Works
The figure-1 depicts interactions of native app with mobile device. Let us understand characteristics of native app and how native app works.
The app developed using programming languages such as C, C++, C#, Java, objective-C and developed specific to platforms (e.g. apple, android, windows or blackberry) is known as native app. The native app developement requires platform specific tools viz. Xcode (for apple), Android SDK (for android), BB java eclipse plug-in (for blackberry) and visual studio (for windows) etc.
Following are the characteristics of native app:
➨It is a binary executable image file. It is downloaded and stored on the file system of mobile phone device.
➨The app can be executed directly by the OS (i.e. Operating System). The app can be launched from the home screen. Moreover it does not require another container app in order to run.
➨It makes explicit use of operating system APIs.
➨Once it is installed, app can directly interacts with hardware components through OS with the help of APIs. This means app can make use of microphone, speaker, camera, GPS, various sensors, connected newtork (wifi, gsm etc.), touch screen and keyboard. It helps in storage management both internally as well as on the cloud.
Pros and Cons of Native App
Pros of Native App:
• It provides ultra smooth experience.
• It provides best user experience.
• The App icon available on the device.
• It can receive push notifications.
• It runs inside the operating system(OS).
• It can make use of platform APIs (such as camera, audio, network, GPS, storage etc. )
Cons of Native App:
• Developers need to know each of the platform languages.
• The source code only works on the targeted platform viz. windows, ios, android. Hence it will be costly to support all the platforms.
• Slower to penetrate in the market due to multiple source codes. Each will have their own unique project codes.
What is Web App | How Web App Works
The figure-2 depicts interactions of web app with mobile device. Let us understand characteristics of web app and how web app works.
Unlike native app which has complete control on all the hardware components of a mobile device, Web app will have limited or sometimes no access to the hardware components (such as microphone, camera etc.) directly. This will change in the future as HTML is evolving.
Native app directly interacts with OS while web app does not directly interact with OS.
Web app is executed by the browser and the heart of browser is rendering engine. This rendering engine converts HTML/CSS/JS to real life APIs which interacts with OS components. All the smartphone manufacturers use same rendering engine. The rendering engine is known as Webkit. It is open source code project which is developed and maintained by Google/Apple.
Following are the characteristics of web app:
➨Code is executed by browser (google chrome, IE, safari etc.) and not by the OS (Operating System).
➨It does not have direct interaction with hardware components of the OS. The Web app uses rendering engine in order to interact with hardware components as shown in fig-2.
Pros and Cons of Web App
Pros of Web App:
• It works across all the platforms.
• It will have single code base.
• Due to less time in development, it helps in achieving faster production.
• It enables low development cost.
Cons of Web App:
• It provides sluggish performance.
• It requires loading time.
• It requires internect connectivity.
• It is usually not available in the app stores.
• It has extremely limited API access.
• It does not have application icon.
What is Hybrid App | How Hybrid App Works
The figure-3 depicts interactions of hybrid app with mobile device. Let us understand characteristics of hybrid app and how hybrid app works.
Hybrid app utilizes benefits of both native app and web app and hence the name. It uses embedded HTML and selected parts of app are written using web technologies. The web portions are either downloaded from web or packaged within app itself. The typical examples of hybrid app are Facebook, Morgan Stanley, Bank of America etc.
Following are the characteristics of hybrid app:
➨It has full access to APIs.
➨It is available in app stores.
Pros and Cons of Hybrid App
Pros of Hybrid App:
• It contains single source code.
• It has access to all platform APIs.
• It needs less time for deployment.
• The web parts of it can get updated automatically on the fly.
• It is available in app stores.
• It has application icon on the device.
Cons of Hybrid App:
• It depends on middleware such as phone gap.
• The middleware is slow in updation.
• It is more bug prone.
• Some bugfixes require middleware updates
• Some bugfixes are outside of your control.
• It provides slower performance.