According to a recent report, HTML is one of the many languages which mobile app developers prefer to use. Mobile app developers use HTML and similar web technologies to develop hybrid apps. The two primary reasons to choose web technologies for mobile app development are cross-platform portability of code and the low cost of development. However, the report further suggests that hybrid apps are sluggish and poorly designed.
In this post, we will see what hybrid mobile apps are and what approaches are used to develop these apps. Before digging into it, let’s see what the two other primary mobile app categories are.
Native vs. Web Apps
Native apps are programs developed specifically for one platform. These apps live on a device and can access all of its hardware capabilities (such as GPS, Gyroscope, Camera, etc).
Web apps can be thought of as websites that in many ways look and feel like native applications. They are run by web-browsers (such as Safari & Chrome) and are mostly developed in HTML.
What are hybrid mobile apps?
Choosing native mobile apps allows developers to utilize all of the capabilities of a device (for example iPhone) and operating system (in case of iPhone, iOS) and optimize their app for maximum performance and stability. On the other hand, choosing the web app category allows developers to be able to port their code across platforms, thus resulting in reduced development time and cost. However, there are developers who try to create an experience that could use and share the best of both worlds. Hybrid apps uses a common code base to deploy native-feeling apps to a wide range of platforms.
Approaches to build a hybrid app
There are different approaches for developing hybrid apps, but two of these approaches are widely used by developers: WebView app and compiled hybrid app.
WebView
The best example of the WebView approach would be Adobe’s PhoneGap. It is a mobile application development framework, encouraging developers to build mobile apps using HTML, JavaScript, and CSS. In PhoneGap, the HTML, CSS and JavaScript code base runs in an internal browser (called WebView) that is later on sewed in a native app design.
Compiled hybrid app
In this approach the code is written in one language (like C# or JavaScript) and later on compiled to native code for each supported platform. As you can understand, the result is a native app for each platform. However this approach gives limited freedom during development.
Both these approaches are widely used and help developers in many different ways. However, WebView is favored by many developers, because it enables them to use their existing web development skills.
Pros of developing a hybrid app
- Developers can utilize their existing web development skills.
- Developers only need one code base for multiple platforms
- It significantly reduces development time and cost
- The design process is very easy for different form factors (including tablets), using responsive web design.
- The apps can possess advanced offline capabilities
- Increased visibility because the app can be distributed natively (via app stores) and to mobile browsers (via search engines)
Cons of developing a hybrid app
- Performance issues for certain types of apps (like 3D games that relies on complex native functionality or heavy transitions).
- Increased time and effort required to imitate a native feel and UI.
- Not every feature on the device and operating system is supported.
- Risk of being rejected by app stores.
Wrap Up
After learning about hybrid mobile apps, I think hybrid mobile app development is not suitable for all kinds of apps. The developers will need to carefully analyze the target audience, their platforms of choice and the app’s requirements. Having said that, the hybrid approach will be best suited to content-driven apps, where benefits will outweigh the drawbacks. One can find many examples of these app in “Business & Productivity” category in the app store.