Flutter 上實現 WebRTC | 掘金技術徵文

最近正糾結如何在 Flutter 上實現 webRTC 的功能,而 Flutter 在原生支持上,遠不如 React Native 方便,而本身實現是不可能的,這輩子都不可能的,最後讓我終於在 github 上發現了這個 AgoraIO/Flutter-SDK ,順藤摸瓜發現原來是一家叫聲網的 SDK ,它家的 webRTC 系列竟然是全平臺制霸的,妥了!!!git

感覺下,加上 Flutter 版本,要知道如今好多大企業平臺都沒有 Flutter 甚至 React Native 版本的 SDK,殘念啊,連阿里雲日誌都要本身寫一遍插件····程序員

這時候我不由好奇,是什麼勇氣讓 AgoraIO 兼容開發這麼多平臺的?github

查找源碼發現,原理 AgoraIO 並無在 Flutter 上單獨實現一個版本,而是經過 FlutterPlatformView 機制把 Andriod 和 IOS 的功能繼承進來,而在 Android 和 IOS 上的關鍵代碼,都是經過 C++ 實現的,這樣保證了能夠在多個平臺上,經過交叉編譯的方式實現核心邏輯的跨平臺,機智機智啊。web

不過 PlatformView 在 Android 上的性能讓人擔心啊。app

接下來就是接入了,首先咱們須要在開發者中心註冊一個帳號,而後通建立一個應用post

經過應用咱們能夠拿到一個 appid ,標準套路,以後就能夠直接使用 AgoraIO 的服務了,同時 AgoraIO 還提供各種的數據分析,em...仍是標準套路。性能

以後咱們就能夠經過 pub 下載 AgoraIO/Flutter-SDK 了,推薦然先經過 Sdk 自帶的 Demo 測試一波了。測試

Demo 這裏有個小問題,在 Flutter 中沒有作權限申請處理,全部須要本身去設置中打開,並且 Flutter Demo 中只作了加入房間,若是須要預覽要本身加上帶啊嘛,因此在同步顯示上我用了 Android 的 DEMO。阿里雲

後面的使用方式就很少介紹了,真的值得安利,畢竟讓程序員從0開始完成一套 WebRTC 是不科學的,相信後臺的工做量會更痛苦吧,無論怎麼說,流程是跑通了,可行性也沒問題,那麼接下來就是如何說服老闆去充值了。插件

Agora SDK 使用體驗徵文大賽 | 掘金技術徵文,徵文活動正在進行中

相關文章
相關標籤/搜索