Dilemma of Application Development: Native, Web or Hybrid
In the past couple of years, there’s been much talk among software developers and tech executives about the best approach in mobile application development. We believe there is no (and can't possibly be) single universal answer. Quite the opposite, each of the three options — to go native, hybrid or web — has a strong impact on future development and marketing strategy, and can become either a benefit or a burden, depending the nature of your app.
To help you make the right choice, I’ll analyze these different approaches, keeping in mind the key factors that determine whether an app succeeds or fails:
- Development costs
- Distribution channels
- Maintenance and updates
- Features and design
What are the options?
Let’s start with an overview of these three approaches.
These apps are written for a specific operating system with the help of a particular programming language and SDK, a set of software development tools, provided by the developers of that mobile platform. By June 2012 in AppStore alone 650 000 native apps for iPhone and iPad were registered. Native apps are still the most popular type of mobile apps.
- high responsiveness
- fast graphic rendering
- run on one platform only
- to develop the mobile client, there’s no need to know any programming language. Knowledge of a markup language is enough
- doesn’t work without Internet connection
- can’t leverage device-specific functions such as camera or hardware sensors
These apps present a fusion of native and web apps. They are written in web programming languages with the use of native components of the mobile platform, which makes them rather flexible and grants access to the platform API. The code of such apps is transmitted into languages native for each platform. Apparently, the most popular hybrid app was the LinkedIn mobile client. They’ve shifted to native apps afterwards but not because the approach itself was wrong. The reason was strictly technical and rather prosaic: lack of good development tools. Recently, the hybrid approach has been considered to be the most reasonable. Thus, according to Gartner, by 2016 more than a half of all mobile apps will be hybrid.
- the use of native component to leverage device-specific features
- doesn’t offer 100% support for device-specific features
Now let’s see how each of these approaches could affect the key constitutes of mobile app development and marketing cycle.
The most natural question to ask before choosing between native, web, and hybrid is "What platform does my audience mostly use?". Since native apps are developed for a particular mobile platform, going native will be the best option if most of your potential clients prefer a certain mobile OS. Choosing web and hybrid apps that work smoothly on several platforms would be the right choice if your audience’s preferences are rather diverse.
Native apps: You need to develop a separate app for each mobile OS.
Hybrid and Web apps: An effective cross-platform solution.
Rough estimations show that the development cost of a native app is approximately the same as that of a hybrid or a Web app. Although, it will work only on one platform, which brings up a vital aspect: if you build a native application to run on Android, iOS, Windows, and BlackBerry to cover all of your users, multiply the initial cost by four.
Hybrid apps are faster to turn multi-platform, since only part of native code has to be changed for a different mobile OS. As for the Web components, they are used across all devices, being an absolute leader in saving both development time and, thus, costs.
Another aspect to consider is finding a good development team. Today, it is easier to find developers for hybrid and Web apps, since these cross-platform apps are based on Web technologies. The labor market for native platform developers is considerably smaller, especially if it’s not iOS or Android that you need, but rather BlackBerry, Windows Phone or Tizen.
Native apps: It's relatively hard to find good developers; the costs are higher if you consider to build apps for various platforms.
Hybrid and Web apps: Since the app works on different platforms, the cost is lower.
To make the right decision, you should not only know your target audience but also where they download apps. You can place your bet on the official market such as AppStore or Google Play that guarantees certain public attention. Or, if your business is running smoothly and the site is visited by thousands of people daily, you could distribute the product right from your site. The latter option is even more preferable because in this case the audience is already filtered — only people who are interested in your business are there.
Native and hybrid apps: Can be distributed through official markets, after the approval process.
Web apps: There are no centralized shops; the apps are not strictly tested.
Any product should be profitable and mobile apps are no exception. Submitting an app, you can simply sell them or distribute free with implemented in-app purchases. In both cases, a certain percentage of the cost would be withheld by the store. For Web apps, there is no such well-tuned commercialization mechanism.
Native and hybrid apps: An existing selling mechanism.
Web apps: You need to invent your own ways to make money with your apps.
Maintenance and updates
Very often the main cost of software is not the development but rather the maintenance. It's hardly possible to release 100% perfect application with no further improvements necessary. Even if you managed to release a nearly perfect app, you still need to add new features and improvements to attract new users and keep up with competitors. Or at least to provide support for new versions of mobile OS.
Since both web and hybrid apps are written in a cross-platform language, you'll need to make just one update for users of all mobile platforms. Although, this process will be a bit more complicated for hybrid apps distributed through centralized markets: your users will need to update manually, while a web app will be updated automatically next time it gets the Internet connection.
In case you have developed a native app for various platforms, you'll have to update each version in a corresponding store and inform users about the update. Besides, for one application you’ll need several above-average developers — one for each platform.
Native apps: Maintenance is expensive. Updating requires more efforts.
Hybrid and Web apps: Updating is simple, maintenance is cheaper.
Features and design
It also matters to what extent you plan to use platform-specific features. No doubt, native apps win in this aspect. Going native provides a smooth, well-balanced design since the platform itself dictates its principles, and 100% support for all device functions, such as camera, microphone, gyroscope, etc. Besides, native apps work faster than Web and hybrid.
Web apps don't have access to device functions. Besides, design optimisation takes time if you try to add effects of a certain platform expected by users. Some UI elements can't be met by hybrid or web apps at all or the implementation is so time-consuming that it makes the whole attempt meaningless.
Hybrid apps can partially use the device’s functions, but work slower than their native analogs. Sometimes so slow that a user can actually notice.
Native apps: Maximum use of device functions; best processing speed; UI that is familiar to users.
Hybrid apps: Partial access to device functions; lower processing speed; time-consuming UI implementation
Web apps: Zero access to device functions; requires constant Internet connection; time-consuming UI implementation.
Having considered the above, we can round up with some general assumptions on which approach of mobile app development and in what situation is preferable.
If you’ve planned a technically challenging app that makes a good use of device features, native app would be the best option. If your task is more practical than ambitious, like informing your clients on new special offers or sending regular updates to a product catalog, a web app will graciously cope the task. In case you’re looking for the most cost-effective way of developing and maintaining an app that can be distributed through various shops, a hybrid app will be the most suitable choice.
Still have doubts what type to choose? Ask professionals. Just don't wait. Your hesitation is a fat chance for your competitors to implement an idea similar to yours and attract a huge share of your potential audience.