flutter作為一個相對來說比較新興的框架,相比于其他框架來說避免不了存在生態(tài)不完善的問題。要想實現(xiàn)flutter直播,可以接入即構科技的Express Flutter SDK,然后通過集成、初始化SDK、登錄房間服務器、用戶推送自己的本地音視頻、拉取遠端的音視頻流等簡單五個步驟實現(xiàn)簡單的實時音視頻場景進行直播。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供順平網(wǎng)站建設、順平做網(wǎng)站、順平網(wǎng)站設計、順平網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、順平企業(yè)網(wǎng)站模板建站服務,10年順平做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
可以用web端來做視頻直播,不過你使用的是什么語言框架?自己如果技術不是很好的話,可以選擇接入第三方服務商的直播SDK的。我司接入的是 ZEGO即構科技的低延遲直播SDK,java的,此外它還支持多種語言框架,包括React Native、JavaScript 、Swift、Electron、Flutter等。
騰訊課堂14M
今日頭條3M
閑魚22M
百度貼吧13M
螞蟻財富56.8M
百度網(wǎng)盤14M
手機淘寶15M
貝殼找房8M
由粗粒度小組件動態(tài)拼裝出頁面,Native端已經(jīng)有很多成熟的框架,如天貓的Tangram。
開發(fā)語言:iOS、Android
適用場景:快速迭代的活動營銷頁面
優(yōu)點:無侵入,更新簡單
缺點:提前預埋,擴展性差,靈活性差
以webview作為容器的app,歷史悠久,最早到2011年。
開發(fā)語言:HTML
適用場景:雙端嚴格一致的銀行類app,容器類的支付寶小程序等
優(yōu)點:動態(tài)更新,跨平臺
缺點:性能,加載速度
UI用Xml+JS表達,用Native View渲染。
開發(fā)語言:Xml+JS
適用場景:雙端嚴格一致的銀行類app,容器類的支付寶小程序等
優(yōu)點:native組件,生態(tài)成熟
缺點:三方庫crash,性能缺陷
UI用Dart表達,用Dart engine渲染。
Flutter官方不支持動態(tài)化。原因是Flutter在 Release 模式下構建的是 AOT 編譯產(chǎn)物,在 Debug 模式下構建的是 JIT ,AOT 依賴的 Dart VM 和 JIT 并不一樣, JIT Release 并不支持 iOS 設備??尚械姆桨甘牵篈OT 需要一個編譯后的 “Dart VM”。抽離一份 DartVM 獨立編譯,再以動態(tài)庫的形式引入項目。
開發(fā)語言:Dart
適用場景:iOS、Android、Web、Desktop、Embed
優(yōu)點:性能最佳
缺點:增大包體積 20MB+
大廠的主流方案。UI用JS表達,用Dart engine渲染。
開發(fā)語言:JS、類JS
適用場景:iOS、Android
優(yōu)點:性能最佳
缺點:需要掌握JS、Dart兩個語言和框架
大廠的主流方案。UI用Dart表達,用Dart engineX渲染。
開發(fā)語言:Dart
適用場景:iOS、Android
優(yōu)點:性能最佳
缺點:需要改造Dart engine
1、 美團外賣Flutter動態(tài)化實踐
2、 攜程App 首頁動態(tài)化探索
3、 Flutter 動態(tài)化在最右 App 中的實踐
4、 Flutter 動態(tài)化熱更新的思考與實踐
5、 NOW直播Flutter動態(tài)搜索列表頁實現(xiàn)
6、 Flutter動態(tài)化的方案對比及最佳實現(xiàn)-閑魚
7、 基于JavaScript 的MXFlutter
2017年底因公司業(yè)務組合部門調整,新的團隊部分維護的項目用React Native技術混合開發(fā)。為適應環(huán)境變化,開啟瘋狂RN學習之旅,晚上回來啃資料看視頻??赡苡捎诒旧韺N技術體驗不感冒或者在環(huán)境之下強迫學習有點不爽。開始尋找代替方案,F(xiàn)luter像一束曙光引起了我的注意,之后一直關注并利用閑余時間開始探索。2018年一直學習到使用Flutter寫項目,從0.2.0開始到現(xiàn)在1.5版本的發(fā)布,終于開始慢慢的爬出坑位了,但是因為部分控件感覺還是不如原生控件好用,因而Flutter提供了PlatformView部件。近期因項目中嚴重使用依賴地圖,故而做了Fluterr使用原生IOS高德地圖調研。因為我本身是一名android開發(fā)人員,初學IOS并記錄下來。
PlatformView是 flutter 官方提供的一個可以嵌入 Android 和 iOS 平臺原生 view 的小部件。
在我們實際開發(fā)中,我們遇到一些 flutter 官方?jīng)]有提供的插件可以自己創(chuàng)建編寫插件來實現(xiàn)部分功能,但是原生View在 flutter 中會遮擋住flutter 中的小部件,比如你想使用高德地圖sdk、視頻播放器、直播等原生控件,就無法很好的與 flutter 項目結合。
1、info.plist文件設置
2、 ios 端實現(xiàn)原生組件PlatformView提供原生view
3 、ios 端創(chuàng)建PlatformViewFactory用于生成PlatformView
4、 ios 端創(chuàng)建FlutterPlugin用于注冊原生組件
5 、flutter 平臺嵌入 原生view
iOS端的UiKitView目前還只是preview狀態(tài), 默認是不支持的, 需要手動打開開關, 在info.plist文件中新增一行io.flutter.embedded_views_preview為true.
創(chuàng)建類 FlutterMapView 并實現(xiàn)FlutterPlatformView 協(xié)議
FlutterMapView.h
FlutterMapView.m
FlutterMapFactory.h
FlutterMapFactory.m
FlutterMapPlugin.h
FlutterMapPlugin.m
請前往 高德開放平臺控制臺 申請 iOS Key。
注意:Bundle Identifier需要與申請的時候填寫的一致
地圖依賴的庫列舉如下:
基礎 SDK AMapFoundationKit.framework
第一步:將解壓后的MAMapKit.framework 文件 copy 或 拖拽 到工程文件夾中,左側目錄選中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中點擊“+”按鈕,在彈出的窗口中點擊“Add Other”按鈕,選擇工程目錄下的 MAMapKit.framework 文件添加到工程中。
千萬不要忘記將AMapFoundationKit也一起加入工程。
3D地圖正確配置應如下圖所示:
需要引入的資源文件包括:AMap.bundle,其中:AMap.bundle 在 MAMapKit.framework 包中,AMap.bundle資源文件中存儲了定位、默認大頭針標注視圖等圖片,可利用這些資源圖片進行開發(fā)。
左側目錄中選中工程名,在右鍵菜單中選擇Add Files to “工程名”…,從MAMapKit.framework中選擇AMap.bundle文件,并勾選“Copy items if needed”復選框,單擊“Add”按鈕,將資源文件添加到工程中。
成功跑起來 。。 。
網(wǎng)站名稱:flutter做直播,Flutter直播
分享路徑:http://m.rwnh.cn/article48/phjhhp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、移動網(wǎng)站建設、定制開發(fā)、微信公眾號、動態(tài)網(wǎng)站、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)