对Safari 11支持WebRTC的分析

作者:Arin Sime(原文链接

翻译:刘通

原标题:WebRTC support in Safari 11

 

safari_webrtc

         经过了多年的等待,苹果终于宣布支持WebRTC了!与视频通信领域中的其他预测者和顾问一样,在苹果官方宣布这个消息之后我感到松了一口气。就在这周,我还预测苹果应该会在今年年末的时候在Safari中支持WebRTC视频通信。

         做出这类推测的人不止我一个,苹果在去年新招了很多WebRTC工程师,参加了标准化会议,这就是在向外界发出信号“WebRTC快登陆苹果了”。十分具有苹果特点的是,在公布的前一秒,大家都不敢确定WebRTC到底什么时候可以在苹果上使用。

         那么,这对WebRTC应用开发意味着什么呢?首先先让我们回忆一下苹果都声明了什么,以及我们还不知道的事情有什么,然后再来设想一下在未来的一段时间里,苹果的声明会给WebRTC应用开发带来什么。还有一些事情是不会改变的,我们在后文中也会提到。

 

苹果声明了什么

         苹果已经声明Safari 11会支持WebRTC。当微软公布Edge浏览器支持WebRTC的时候,是一点一点实现的。首先,Edge可以获取摄像头和麦克风的使用,不久之后才支持端到端通信。

         正如TheNewDialtone所说的,Safari 11的网页明确地说Safari 11“使用WebRTC标准实施端到端会话”。所以我们可以期待看到苹果一次性的给我们带来很多的功能,这是一件特别好的事情。

 

我们还不知道的事

         目前,iOS 11会多大程度上的支持WebRTC我暂时还不能明确。在电脑端,Safari是一个重要的浏览器,所以即使仅仅是电脑版Safari支持WebRTC的话,对于WebRTC的兼容性来说也是一个巨大的进步。不需要额外插件,而且你现在不需要只能通过Chrome和Firefox与你的用户联系了。现在除了Chrome和Firefox浏览器之外,Edge和Safari也加入了进来,WebRTC现在变得更开放,限制变的更少了。

         如果苹果也能在iOS11版本的Safari上支持WebRTC的话,就更好不过了—这在实时通信领域上可以把iPhone和iPad带到与Android设备同一水平。

         codec种类,硬件加速,以及ORTC这些细节问题我们还不得而知。但是无论你怎么看待它,这对于WebRTC来说都是一个好消息。

 

这会给WebRTC开发带来什么改变?

         如果电脑版和移动版的Safari全面支持WebRTC,那么这会改变游戏规则。

         当我们几年前第一次开始WebRTC的开发时,Chrome和Firefox之间并不能完全兼容。Chrome和Firefox的早先版本中,它们各自发展自己的WebRTC,有的时候参数名会出现重名的情况,而且像DataChannel这样的东西可能彼此不能兼容。这就是这项新技术刚开始发展时候的情况。

         最近几年Chrome和Firefox之间已经可以完全兼容了,但是用户经常会问“什么时候才能在微软和苹果上面使用WebRTC?”这在当时确实是一个问题,我们只能够强迫我们的用户使用Chrome和Firefox浏览器。

         对于移动端来说,事情就更加复杂了。我们之前经常会告诉我们的客户,如果他们想做一个Android上的Chrome浏览器网站,那么我们就可以做到让它拥有WebRTC功能。但是对于iOS设备来说,做一个原生应用是唯一的选择,而且他们需要花更多的钱来雇用一个Swift或者Objective-C程序员来进行开发。

         现在,iOS版的Safari浏览器支持WebRTC了,这意味着我们既可以在电脑上搭建一个WebRTC网站,也可以在Android和iOS浏览器上做到这点了。

         这是非常重要的,因为这可以给我们的用户提出一个可能节省预算的选择,同时也给更多的JavaScript开发者带来了更开放的WebRTC移动端开发环境。

 

什么是不会改变的

         短时间,不会发生什么商业上的改变,所以苹果的声明不会改变什么。Safari 11的改变在2017年的9月或者10月才会发生,理想情况下iOS版本的Safari浏览器也会同时更新。

         所以你还需要至少等待3—4个月才能看到苹果这两年辛勤工作的过时。如果你使用的CPaaS提供商给你做的WebRTC应用,那么你可能需要等待更多的时间才能等到供应商的API更新。

         你可能离真正的在产品中使用这项改变还有6个月的时间,因为还需要有时间来对你网站的代码进行更改。不要忘了你还必须测试Safari上网站的功能,在之前你可能可以忽视HTML/CSS的一些小问题,因为你那是并不关心Safari的用户,但现在不行了,你必须照顾这部分用户。

         如果你已经使用WebRTC搭建了一个原生的iOS应用软件,千万不要丢弃它,因为你已经领先你的竞争对手整整6个月。

         即便你刚刚开始考虑做一个WebRTC应用,这些声明也不意味着你就应该把原生应用软件从你的考虑清单上划掉。

         能够在移动版Safari浏览器上使用WebRTC固然是件好事,但是与Android一样,对号的用户体验还是原生应用提供的,所以开发移动端原生应用所多花的哪些时间和精力还是值得的。

         这项声明还不会改变一项事情:永远不会在IE浏览器上使用WebRTC。那些必须使用微软浏览器的企业还是要让他们的用户更新到Edge浏览器。这是很显然的,因为这是一个苹果的声明而不是微软的,所以要想在IE浏览器上进行视频通话,安装插件还是唯一的选择。所以,是时候淘汰你的IE浏览器了。

        

WebRTC发展趋势大好

         当我们几年前开始做WebRTC视频软件的工作时,人们还在问WebRTC是否可以稳定工作?没有微软和苹果的支持,WebRTC能存活下来吗?还是会作为Google的一个边缘产品被淘汰掉?

         现在有了苹果的官方声明,WebRTC即将登陆Safari 11,我们可以肯定的回答“WebRTC会一直发展下去”。我确信WebRTC在未来会有更大的进步,比如ORTC的概念和新的视频编解码器。你可以期待它在电脑端和移动端上越来越流行。

         苹果,欢迎入群!并且谢谢你的加入。

填写常用邮箱,接收社区更新

WebRTC 中文社区由

运营