TMCnet News

Hybrid WebRTC App vs. Native WebRTC App
[August 10, 2017]

Hybrid WebRTC App vs. Native WebRTC App


The features provided by WebRTC make this technology a decent choice both for developers and users. You have to make a major decision and choose between native and hybrid WebRTC app. This choice should be based on your goals and available resources. You can create a WebRTC application without using any third-party framework. An ordinary user will be pleased by the possibility to work with an audio/video chatting app without installing and updating any third-party browser plug-in. If you’re in search for a real-time communication platform for making business calls, End-to-End Encryption between the peers provided by WebRTC can guarantee the security of transmitted data. But even if you’re completely sure that a WebRTC mobile application is what you need to reach your target audience, you’re still one step away from beginning the development process.



In this article, we’ll try to shed some light on the main differences between native and hybrid WebRTC applications.

WebRTC Native App Pros and Cons When we talk about native apps in general, without any emphasis on WebRTC, the main advantages that we usually mention is a consequence of the approach that implies development for a particular platform. Generally, such apps work faster than hybrid ones. Another advantage is the possibility to get full access to the hardware features. If you plan to create a high-performance application, for example, a mobile game with lots of 3D graphics and animations, going native will be the obvious choice. But if you’re at a crossroads looking for a better solution for your future WebRTC chatting application, there are some nuances worth remembering. WebRTC is not a feature of a platform itself but a particular browser. Thus, the requirements to the hardware are not something that you should worry beforehand. WebRTC apps don’t require advanced performance to run smooth and provide good user experience. Besides that, WebRTC apps don’t require access to specific hardware functionality provided by the native applications. What is required for the native WebRTC app creation is a developer specializing in a particular mobile platform, which can lead to additional costs.


But even if you are not constrained in resources, there’s another important thing about the WebRTC applications that you must not forget. Until mid-2017, Apple hasn’t supported WebRTC. Finally, the company has announced WebRTC technology support for iOS 11+ version. Javascript API will be implemented in Safari v11 and will be available with the new release of the iOS and macOS systems. Thus, you must be completely sure that your target audience doesn’t use the outdated software before you start developing your WebRTC application.

In the case of Android, nothing restricts you. The native WebView supported WebRTC since version 4.4. So, if you do not intend to capture the market of legacy Android devices, you won’t face any troubles. If there’s no other choice for that creating a WebRTC based application for iOS (for example, for older versions than 11’s), you should pay attention to hybrid apps.

WebRTC Hybrid Application. Strong and Weak Sides If you’re going to build a hybrid app, you can rely on web technologies such as JavaScript, CSS, and HTML. Such application can be described as a regular HTML5 app which is bundled inside a native one and runs within a web browser. From a user’s point of view, a hybrid and native WebRTC apps don’t differ a lot. Differences become noticeable in the case of high loads. The reason is that hybrid apps have to use the code that wasn’t optimized for a particular platform. Besides that, hybrid apps don’t provide full access to the possibilities of the hardware. The task of realizing access to the device’s features (e.g. camera and microphone) and providing a user experience similar to a native application lies on the shoulders of development frameworks. The cost of framework’s license should also be taken into account during the planning of your future WebRTC project. But what’s good about the hybrid apps is the possibility to reuse the code for different platforms. You don’t have to hire several teams of WebRTC developers if your target audience uses different browsers and operating systems. Hybrid applications can be developed quickly and cost-effectively since there’s no need to understand the specifics of a particular platform.

It may seem like a hybrid app is a low-cost alternative to the native app. It runs slower, can’t use all features that a mobile device provides and is a simple HTML5 app that pretends to be a native one. But the list of hybrid app examples speaks for itself. Evernote, Apple Store, Gmail, Uber and many others are hybrid mobile apps. Most likely you have some experience with one of these apps. And it is barely possible that you have encountered some significant lags or errors. What we’re trying to say is that high performance is not an indispensable requirement for some types of apps.

In the case of WebRTC, the access to specific hardware features is not required as well. So, in most cases, a user won’t even notice any difference between a native and a hybrid WebRTC app.

Conclusions In general, when we have to choose between a native and a hybrid application, everything looks pretty easy. Choose native app if you’re goal is high performance, but be prepared to spend some extra time and resources for creating code exclusively for each target platform. A hybrid development approach is a compromise solution that allows significantly reduce development costs in the case if your application doesn’t require cutting-edge performance.

But in the case of WebRTC apps, some of the above arguments become irrelevant. Such apps don’t require advanced performance. Access to the hardware possibilities provided by the hybrid apps is quite enough for creating full-featured solutions. However, if we use WebRTC as a core technology, there’s something you should remember about. WebRTC was not supported by Apple until recently. The company has announced that WebRTC support will be added in its Safari browser version 11. At the time it’s not clear which particular features will be implemented, but you can visit the website named “Is WebRTC ready yet?” to check the current state of affairs. At the time of writing this article, according to the App Store statistics, 14% of users still use outdated OS versions. It’s hard to predict how these indicators will change in the future. But if there’s a significant proportion of iOS users among your target audience, you better be sure that they use Safari version 11 or newer if you plan to develop a native WebRTC app.

As a community-building service, TMCnet allows user submitted content which is not always proofed by TMCnet editors. If you feel this entry is of inferior quality or wish to report it for some reason, please forward the URL to "webedit [AT] tmcnet [DOT] com" with your comments.


[ Back To TMCnet.com's Homepage ]