Real Time Communications Featured Article

Hybrid to Native with WebRTC Apps

February 01, 2016

For all the love and sweetness advocates pump out about WebRTC, there are a number of headaches that still exist in implementing the technology.  When I was hanging at ITEXPO in Fort Lauderdale last week, Dialogic's Alan Percy noted we're still a way from true seamless interoperability between browsers, but the WebRTC community is slowly and surely converging there.  Another touch point of "More work needed" is choosing to implement WebRTC mobile apps as hybrid apps tapping into third-party SDK code and services or building a native app using all of its own code.

Hybrid apps relying on third-party code offer a number of advantages. Apps can be quickly build by standard web developers using their knowledge with HTML, CSS, and JavaScript, so you can build an app as fast as any other HTML5 application.  Apps can be built with a standardized code base and compiled for a "native" app on supported platforms -- that is, on both Apple iOS and Google Android. 

But hybrid apps won't have access to all the native hardware resources, depending on the codebase framework used.  Apps can run significantly slower than a natively-compiled app because of the overhead having to tap into non-native code that hasn't been optimized for the app, such as plug-ins using JavaScript to access a browser's webcam and microphone. Developers will also incur costs for the licensing in using the software frameworks involved in building a hybrid app.

WebRTC native mobile apps would be sweet and wonderful, but Apple doesn't currently support WebRTC natively.  The company is in the process of beefing up its programming staff to incorporate WebRTC into its operating systems and the Safari browser, but until that happens, developers are pretty much stuck with hybrid apps in some form or to have a hard core developer for iOS to dig and build the necessary code.

Most developers would prefer native apps, since they generally perform faster than hybrid apps.  There's no dependence upon third-party code or hard-wired protocols and services from a third-party service provider.  Apps will, of course, run faster when compared to those written in hybrid fashion.

Perhaps the greatest solution on hybrid vs. native is time. Apple is working on embedding native WebRTC support into its operating systems and the Safari browser, opening the door to crafting true native WebRTC apps on iOS.  When that will happen is an open question, but with Microsoft on the WebRTC bandwagon, Apple has little choice but to join the parade at some point in the future.

Tool builders are also taking into account all of the current issues with hybrid app development.  We can expect better frameworks designed and tweaked to get the fastest performance from generated code.  It will be interesting to see if hybrid apps can get fast enough to be competitive with native code projects, especially combine with a couple of new generations of mobile processors.  Hybrid vs. native WebRTC development may become more of a lifestyle choice than a choice of development space trades in the future. 

Edited by Stefania Viscusi

Article comments powered by Disqus

  Subscribe here for RTCW eNews