瀏覽器通訊新標準——WebRTC

What is WebRTC?

WebRTC是Web Real-Time Communication的簡稱,它是谷歌的一個開源項目,其目的是通過一系列的協議和規範來讓瀏覽器提供支持實時通訊功能的API介面,這樣在瀏覽器中通過簡單的介面調用即可實現本地音頻、視頻等資源的實時共享。

早在 2009 年,Google的一名員工就提出了該想法,隨後便有幾位對此想法有興趣的人開始投入精力開發,不久後關於獲取本地資源的差異性問題都已經解決,唯一的難點就是解決實時通訊。與此同時,隨著Chrome瀏覽器的推廣, Google開始對此想法投入大量的精力,在2011年收購了當時擁有實時通訊所需低級組件的Gips公司後,實時通訊的難題也逐漸得到解決,隨後WebRTC便應運而生。

(圖片來自:t.cn/RQ3FnsC

Why WebRTC ?

在沒有WebRTC之前,如果要在瀏覽器中實現實時通訊只有兩種方式:

  • Flash: Flash顧名思義是通過Flash技術來實現本地音、視頻資源共享。而使用Flash最大的問題在於Flash只能提供質量較差的視頻及音頻資源,而且運行時還需要伺服器許可證。
  • Plug-in: Plug-in是通過給瀏覽器安裝支持訪問本地資源的插件來實現對本地音、視頻資源的共享。而使用Plug-in最大的問題在於維護成本太高,因為不同的瀏覽器,不同的系統需要提供不同版本的插件,這樣則導致一個功能需要針對不同的平台去做開發。

通過比較,很明顯可以發現,WebRTC僅僅通過瀏覽器提供的同樣的API介面,就可以實現實時通訊,而在開發過程中不用去關心平台和兼容性甚至安全性問題,那麼實時通訊的實現成本就會降低很多。因此,很多網站已經開始使用WebRTC技術來實現實時通訊功能。

Why ASSESS ?

WebRTC在解決Web實時通訊問題中可以說是首選方案,但為什麼在我司的技術雷達中仍然處於「評估」呢?我覺的目前最主要的一個問題是瀏覽器支持程度。這裡是WebRTC對瀏覽器最新的支持情況,明顯可以看出,WebRTC目前是不支持任何IOS設備的,這將使 WebRTC的適用性大大降低。其次,出於安全性考慮,所有使用WebRTC的站點必須使用 HTTPS協議,這又大大的限制了WebRTC的適用範圍。

雖然如此,WebRTC依然是目前在瀏覽器實現AR/VR技術最簡單易用的流媒體平台,加之Apple已經明確表示在未來的Safari中將支持WebRTC,不知道在IOS設備支持WebRTC及瀏覽器中AR/VR技術普遍採用WebRTC後,WebRTC是否會迎來突飛猛進的發展呢?


點擊這裡查看最新版技術雷達


推薦閱讀:

TAG:WebRTC | 信息技術IT |