This question can give a feeling of déjà-vu. Indeed, the debate has been going on for a long time now in the mobile development community and the question has been addressed many times by bloggers and developers around the world. A simple Google query will unearth plenty of different answers.
However, this question is still meaningful not only because many companies remain unclear in their choice, but also because answers to the question have substantially changed over the past few years. Web and hybrid app technologies have grown and their range of applications has enlarged with them. On top of that, new tools and development frameworks have recently emerged, offering an even more intricate mix of technologies and a greater amount of flexibility. An example of these are Mobile Application Development Platforms (MADPs) that can generate largely native apps from a single original codebase and do not have to be written in web languages (contrary to hybrid apps).
For now let’s focus the essentials factors that come into the equation when making a decision on which type of mobile app to choose depending on the context. We’ll look at the three main types of apps by summarizing their strengths and weaknesses, followed by a prediction of the future trends of mobile app development.
The differences between the 3 common types of mobile apps (native, web and hybrid) can be grouped into 7 unique factors:
- Development cost
- Code reusability
- Device access
- UI/UX consistency
- Distribution channels
Native apps are apps developed in the native language of each mobile operating systems using an Integrated Development Environment (IDE). On iOS native apps are coded in Objective-C or Swift, whereas on Android Java is primarily used. They are also integrating platforms SDKs for seamless integration with the OS.
Undeniably native apps have a lot of strengths, but their biggest weakness resides in the fact that their codebase is reusable only on the platform for which they have been created and is difficult to port to other platforms: native apps have to be developed for each single platform. This generally means that if the app is to be available for more than one platform the development cost of native apps is the highest of the three types. However, in some particular cases, native development will end up being cheaper than trying to optimize web or hybrid apps with performance issues. Now thanks to platform SDKs, native apps offers a complete access to the device hardware, so if your app needs to access a great variety of APIs (camera, GPS, gyroscope, accelerometers, etc…) native development is generally the way to go. Additionally, UI consistency is seamless: users benefit from the full user experience (i.e.: multi-touch, double-taps, pinch-spread, and other compound UI gestures). The performance of native apps is the highest of the three kind as no abstraction layer is required. If fast and fluid animations are required don’t look elsewhere: critical app performance is where native apps reign supreme. High performance is especially important in gaming, apps featuring highly interactive reporting and intensely computational algorithms. For high responsiveness and top-notch user experience, native development is the number one choice.
Web apps are developed once for all platforms as they simply rely on a web browser. Their development costs are therefore the lowest of the three kinds. Device access is rather limited (to components like the GPS for geo-location) but the number of supported APIs is growing over time. UI frameworks can help them garner a fairly consistent user experience, although definitely not on par with native apps. Other limiting features of web apps are offline usage, user authentication and storage security, which prevents them being used in Business to Employees (B2E) scenarios. Overall performance is the major problem affecting web apps, as they rely on both browser and network connection. However, a strong point of web apps is that they are not restricted in their distribution and app stores do not take a commission. The trade-off is that they are not able to harness marketing tools provided by these app stores such as rankings and featured placement. Web apps also have to be manually bookmarked if the user wants to create a shortcut on their home-screen.
The table below gives a quick overview of typical business cases:
|Native apps||Web apps||Hybrid apps|
|Perfect for:||Highly responsive and graphic / CPU intensive apps
Apps that require access to specific device hardware
Apps that require a high level of user experience and platform UI integration / customization
|Apps with searchable content (eCommerce storefronts...)
Marketing / promotional apps
|Enterprise apps (B2E)
Media, productivity and business apps
|Not suitable for:||Apps with critical budget constraints
Apps that could provide the same user experience if developed web-based or hybrid
|Apps that require high performance and user experience levels
Apps that require secured on-device storage
Apps that need to work offline
|Apps that require intensive computational power
Apps that require a lot of platform UI features
The radar chart below summarizes the different factors described in the previous section highlighting the pros and cons of these different technologies.
Past and future trends
Currently native apps are favored by consumers because of their performance and seamless platform integration. Most successful mobile apps right now are native apps. However mobile development technologies are evolving fast, and hybrid and web apps can certainly do more than they could a couple years ago. Hybrid app frameworks can now access many low-level platform features, such as the gyroscope and accelerometer.
An area where web apps, hybrid apps and MADPs are becoming more common is in business enterprise. Business-to-employee apps (B2E) are expected to grow exponentially over the next few years, and most companies do not want to build and maintain two or more codebases. This has led some analysts to recommend choosing hybrid apps or MADPs for large and mid-scale internal apps, while developing native apps for external users with high performance expectations. Web apps tend to be recommended if the organization needs to circumvent app stores, build an eCommerce storefront or a marketing site that are easily searchable and accessible through the web.
The future looks promising for hybrid and web apps, but from a pure performance perspective developers will still favor native apps for the foreseeable future. In her predictions for 2015, Maribel Lopez, founder of mobile market research firm Lopez Research, wrote: “Despite the progress in HTML5, most companies still believe that native app development delivers the best experience. In 2015, most firms will deliver greater than 60 percent of their mobile experiences via a native application.”.
There is no such thing as a “best” type of mobile application. There is a range of options for different business needs, app requirements, target audiences, development timelines and budgets, and this range of options is getting wider with time, offering greater flexibility… and complexity. The crucial point is to evaluate carefully the most suitable application type for a particular business need while armed with the proper knowledge.
We will keep you updated with any new technologies and tools appearing on the horizon. Stay tuned!