A critical factor that you have to consider while doing test planning is checking the Mobile Application type. You will mainly come across three types of mobile applications: Mobile Web, Native App, and Hybrid App. The classification is based on the development efforts and App redistribution strategy. Let's understand each of them in detail.
Web apps are not real applications; they are actually websites that open in your smartphone with the help of a web browser. Mobile websites have the broadest audience of all the primary types of applications.
Example − Tutorials Point
Easy Development − Developing responsive design and restructuring the content to be properly displayed on a smaller screen/hardware will make any desktop website mobile friendly.
Easy update − Just update in one location and all the users automatically have access to the latest version of the site.
No installation required, as compared to native or hybrid app.
Mobile websites cannot use some of the features. For example, access to the file system and local resources isn’t available in websites.
Many existing websites don’t support offline capabilities.
Users won’t have the app’s icon on their home screen as a constant reminder. The website needs to be opened in a web browser only.
While native and hybrid apps appear on the App Store and Google Play, web apps won’t. So redistribution is not that sensible.
A native app is developed specifically for one platform. It can be installed through an application store (such as Google Play Store or Apple’s App Store).
Example − Whatsapp, Facebook.
Native Apps live on the device and are accessed through icons on the device home screen.
They can take full advantage of all the device features − they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on. They can also incorporate gestures (either standard operating-system gestures or new, and app-defined gestures).
Native apps can use the device’s notification system and can work offline.
Publishers can make use of push-notifications, alerting users every time a new piece of content is published or when their attention is required.
Native Apps maintain UI design of each operating system, thus they offer the best user experience. For example, a Native App can have a left-aligned header in Android and a center-aligned header in iOS.
Redistribution is easy, as it is found in app store.
High cost for building the app : Native apps developed for one platform will not run on another platform. An App built for Android will not run on iOS. We need to build a different App altogether for iOS. Because of this reason, we need to maintain multiple versions of the App.
Even though you might publish native Apps, you’ll want to keep the mobile website well maintained, as mobile brings more traffic. So maintenance is higher.
Hybrid Apps are a way to expose content from existing websites in App format. They can be well described as a mixture of Web App and Native App.
Example − Instagram, Wikipedia.
Developing a Hybrid App is cheaper than developing a Native App. It can be built for cross-platforms, i.e., reduced cost for App development.
Maintenance is simple, as there are not many versions to be maintained.
It can take advantage of a few features available in the device.
It can be found in the App Store, which makes the distribution easy.
It has a browser embedded within the app only.
Graphics are less accustomed with the operating system as compared to Native Apps.
Hybrid Apps are slower than Native Apps.