Long have WebRTC developers waited for the day Apple would come around to WebRTC. It has not been simple for web developers and Apple due to their policy that requires web browsing functionality to use the WebKit engine along with Safari. This mean no WebRTC in Safari, no Firefox or Chrome WebRTC on iOS, no native WebView with WebRTC or iOS API’s (but plenty of 3rd party ones). Despite community efforts and active development inside the WebKit project, it was not entirely clear when there would be at launch. That changed earlier this month when Apple announced a WebRTC-enabled WebKit based on the Google-backed webrtc.org engine was coming to both High Sierra – the next version of OSX – and iOS 11. Even better, WebRTC is available today as part of the free Safari Technology Preview.
webrtcH4cKS: ~ Why put WebRTC in Webkit? Q&A with the webrtcinwebkit team
The world of browsers and how they work is both complex and fascinating. For those that are new to the browser engine landscape, Google, Apple, and many others collaborated on an open source web rendering engine for many years known as WebKit. WebKit has active community with many less well known browsers that use it, so the WebKit community was shocked when Google announced they would fork WebKit into a new engine for Chrome called Blink.
Emphasis for implementing WebRTC shifted with Google into Blink at the expense of WebKit. To date, Apple has not given any indications it was going to add WebRTC into WebKit (see this post for an idea on nudging them). This is not good for the eclectic WebKit development community that would like to start working with WebRTC or those hoping for WebRTC support in Apple’s browsers.
webrtcH4cKS: ~ Put in a Bug in Apple’s Apple – Alex Gouaillard’s Plan
One of the biggest complaints about WebRTC is the lack of support for it inside Safari and iOS’s webview. Sure you can use a SDK or build your own native iOS app, but that is a lot of work compared to Android which has Chrome and WebRTC inside the native webview on Android 5 (Lollipop) today. Apple being Apple provides no external indications on what it plans to do with WebRTC. It is unlikely they will completely ignore a W3C standard, but who knows if iOS support is coming tomorrow or in 2 years.
One of the most vexing challenges for WebRTC developers is “what do you do with IE and Safari?” Do you ignore them? Tell your users to use something else? Can you even tell them what to do? Maybe you fall back to flash? There are no easy answers and WebRTC is supposed to be easy, right?
Perhaps you just wait and hope that Microsoft and Apple implement WebRTC soon? This brings a lot of risk – what exactly are they going to implement? For Microsoft it seems it will likely be ORTC, definitely not the current spec. When exactly are they going to implement it? What is Apple going to do? What will you miss out on in the mean time?