Apple官方:WebRTC将在Safari 11上支持

Posted by Damon on 2017-06-08

WebRTC

webkit 社区关于WebRTC特性状态可以看到在preview版本已经支持了。这意味着Safari 最新版将继承WebRTC,详细请戳。来看看WebRTC的作者说了些什么

沉寂多年后,Apple官方终于宣布支持WebRTC了!像大多数视频通信圈的预言者和布道者一样,我的YY变成现实。就在几周前和一个潜在客户聊天的时候还说:苹果即将开始在Safari或者iOS上支持WebRTC视频通信技术。
当然我也不仅仅停留在YY上,去年我也在为WebRTC工程师发布工作,参加了许多标准委员会的会议。Apple之前也发出过相关的支持WebRTC的信号。按照Apple的格调来说,谁也不知道什么时候到来,所一昨天这个消息还是一个不小的惊喜。

这里我要声明一下苹果是在我婚礼纪念日的时候给我的惊喜。但是Voxbone的 Chad Hart 认为是在同一天他的生日庆典时苹果给他的惊喜,我们都表示保留彼此的意见(译者:不懂老外的幽默)。

好了回到正题,对于WebRTC应用开发者意味着什么呢?首先让我们回顾一下官方说了啥,还有啥我们现在还不知道的,然后畅想一下未来带给WebRTC开发者怎样的改变。当然肯定还会有些东西不会改变,我们也会提及。

官方说了啥?

在这一点上细节很少,但是Apple已经宣布在Safari 11支持WebRTC.当微软宣布在Edge浏览器上支持WebRTC后,苹果也同时宣布了这个事情。首先开放摄像头和麦克风访问权限,紧接着支持了点对点通话。

正如TheNewDialtone提到的,“Safari 11 实现了WebRTC 标准的端对端会议”,我们有理由相信,苹果将发布一版拥有很多能力浏览器。哎哟,不错哦!

现在我们还不知道什么?

现在我还不是特别清楚到底在iOS11上面对WebRTC的支持度是多少。桌面版Safari十款很重要的浏览器,尽管只是说支持但这对于WebRTC的兼容性来说无疑是一大步。桌面上不用再装插件了,你也不用将你的用户王Chrome和Firefox上面推了。随着Edge和Safari桌面浏览器的加入,WebRTC 现在已经开放给更多的用户,而很少有抱怨的。

如果苹果在iOS11的Safari上也支持WebRTC就更好了,这样iPhone、iPad就和Android设备保持一致了。现在已经可以在Android上不通过原生App来打WebRTC电话了。

正如Amir Zmora的NewDialTone文章提到的,关于将支持那种编码、还有硬件加速ORTC的支持的细节仍然是一个公开的问题.但无论你多么苛刻,这的确是WebRTC社区的一个大新闻。

带给WebRTC开发者的变化

试想一下,如果桌面端和手机端的Safari都完全支持WebRTC,这个游戏规则就将改变。

遥想当年,当我们开始第一次接触WebRTC开发时,Chrome 和 Firefox WebRTC的实现还相互的兼容性还不是很好。他们用各自的步调和风格实现了早期WebRTC的规范,有时候方法名还会冲突,就连DataChannel也互不兼容。为了一项新技术在世界舞台上的发展,他们都付出了很多。

在最近两年我们已经可以开发Chrome和Firefox都兼容的应用了,但是仍然有来自顾客不可规避的问题“什么时候微软和苹果的浏览器支持呢?” 我们解决办法就只能是让用户使用Chrome和Firefox。

在手机端,事情变得更加复杂。如果客户想要一个Chrome版本的还好说,如果是iOS的话使用原生是唯一的解决方案,但是他们必须在花钱聘请Swift和Object-c工程师。随着React Native的到来这个状态有所改善,至少它可以通构建支持WebRTC 的Android和iOS App,有点类似于“code once deploy twice”策略。

随之WebRTC在iOS 版Safari支持的到来意味着,我们将可以提供一个响应式的网站来支持WebRTC通话,既可以在桌面端也可以在手机端运行。

这意义重大,我们潜在的用户将节省很多开支,同事扩大Javascript开发者的能力。你不需要为了在iOS上完成项目而成为Objective C, Swift, 甚至是 React Native的专家。让js开发者开发精细复杂的网络电话应用变得简单一直是WebRTC所期盼的。而这次让我们离梦想更近一步。

什么将不会改变

短期内,还没有商业用途所以这个声明还没有改变啥。改变将会在 2017年的9、10月份Safari 11发布,iOS版可能也会发布但是目前我还没得到确切消息。

所以我们还有3-4个月的时间等待。如果使用CPaas提供方来做你的WebRTC(比如Tokbox, Vidyo等)那你还需要再等一段时间,等到他们把所有关键的API放出来。

同样计算上你需要调整代码的时间你还需要等6个月左右时间将他发布到线上。还有,别忘了你还需要在Safari上把你的网站做功能性的测试不论现在webRTC支持与否。以前你可能不用关心Safari上的bug但是现在开始需要考虑了。

如果你已使用Native iOS App了,也别抛弃他你领先对手6个多月呢.
即使你开始考虑用WebRTC,这个声明也不意味着你可以把native iOS App排除在外。
在手机端Safari上实现WebRTC很酷,但是就像Android,我们通常也会建议我们的客户这只是一个权衡之后的解决方案。最好的用户体验还是得用Native,花时间和成本在上面还是值得的。

这个声明对于手机App开发的意义是只需要一点点的付出就可以获得很多可能性。更多js开发者将可以hold住WebRTC的而不需要去很艰难的找一个有WebRTC经验的OC开发者。

还有一件事,IE浏览器依然不支持。使用被强制需要支持IE浏览器的公司,你需要告诉用户去升级到Microsoft Edge浏览器。所以目前来说桌面插件仍然是对IE的唯一解决方案。所以希望你们团队尽快脱离IE,是时候了。

WebRTC 运气不错

当我们开始第一次做WebRTC项目时候,人们就在质疑WebRTC会不会昙花一现。没有微软和苹果的支持,会不会只能作为一个边缘项目胎死腹中?

伴随着苹果官方的支持,我们可以骄傲的说WebRTC依然坚挺。我确信它将会持续发展,在ORTC领域占有一席之地,未来将会有新的视频编解码方案以及更多的新改变。但是现在已经上车的各位观众,WebRTC就在这里,期待他在桌面和手机端变得流行起来。

客官欢迎上车,最后,谢谢你苹果公司。

最后

随之,短视频,直播的流行WebRTC越来越多的被大家提及。国内有没有使用这个技术的公司?欢迎和小编讨论。