Flutter 的“野心”,在新一年里開出了花……
Flutter 一頭扎進(jìn)了 2019,“一不小心”就遍地開花了。
從 2016 年項目啟動,到在 2017 年的 Google I/O 大會上首次公開亮相,再到 2018 年底憑借 1.0 正式版的推出狠狠刷了一波屏,F(xiàn)lutter 歷經(jīng)觀望審視、萬眾矚目復(fù)又“泯然眾人”,近來也再次回歸業(yè)界關(guān)注的焦點(diǎn)。
Google 方面似乎也從未隱藏其傾注在 Flutter 身上的“野心”——當(dāng) Android 開發(fā)的地位受到危及時,Google 面對各路競爭回應(yīng)稱,“其他框架都無法和我們競爭,因為我們的競爭對手是我們自己!“。于是乎,承擔(dān)著與原生 Android 競爭使命的 Flutter 應(yīng)運(yùn)而生。彼時的 Google 將其定義為“一款新的用于創(chuàng)建移動應(yīng)用的開源庫”,“有助于更容易,更快速地開發(fā)出界面美觀的移動應(yīng)用?!?/p>
繼而隨著 Flutter 1.0 正式版的推出,毫無意外地吸引了各方關(guān)注。更有評論稱其為“Google 承前啟后的一步棋”,“前指的是基于 Android 和 iOS 的跨平臺解決方案;后指的是它也是谷歌的下一代操作系統(tǒng) Fuchsia 的開發(fā)語言”。
“Flutter 的核心是一個獨(dú)立的可執(zhí)行二進(jìn)制文件,所以它不僅能改變移動開發(fā)的世界,也能改變桌面開發(fā)的世界。你只需編寫一次代碼,就可以在 Android、iOS、Windows、Mac 和 Linux 上以原生方式發(fā)布,還能通過 AngularDart 與 Web 共享業(yè)務(wù)邏輯——這一點(diǎn)意義重大?!?/p>
與此同時,Google 方面也透露,“雖然Flutter 的首要目標(biāo)平臺是 iOS 和 Android,但他們也在不斷探索將 Flutter 拓展到手機(jī)端以外的更多平臺上”。
諸多吸引人的特性之下,F(xiàn)lutter 也積累了大批關(guān)注者。有評論表示,“盡管 Flutter 社區(qū)仍然很年輕,但是已經(jīng)逐漸有不少優(yōu)秀的第三方插件涌現(xiàn)出來,加上 Dart 相對全面的標(biāo)準(zhǔn)庫,實(shí)現(xiàn)這樣一個音視頻 SDK 或是類似的功能并不需要自己大量地去造輪子”。
Flutter + WebRTC:Agora Flutter SDK 設(shè)計實(shí)踐
近日,聲網(wǎng)應(yīng)開發(fā)者需求,推出了 Agora Flutter SDK,以 Flutter Plugin 的形式為 Flutter App 增添實(shí)時音視頻能力。Flutter 產(chǎn)品經(jīng)理 Tim Sneath 亦透過 Twitter 表達(dá)了其對該項目的期待:
聲網(wǎng) Agora Web 工程師郝陽在此前的項目介紹文章中表示:
在應(yīng)用層的開發(fā)過程中,風(fēng)格非常接近于使用 React 進(jìn)行 Web 開發(fā),加上 Flutter 亞秒級的 Hot Reload 等特性,在開發(fā)體驗與效率上相比原生開發(fā)確實(shí)有著不小的優(yōu)勢。
再考慮到逐漸完善的跨平臺特性(桌面端的 flutter-desktop-embedding 項目與瀏覽器端的 humming bird 項目)以及可能會到來的谷歌新操作系統(tǒng) Fuchsia,對于無論是想要接觸到原生開發(fā)的 Web 開發(fā)者,還是追求更高的開發(fā)效率和更好的開發(fā)體驗的原生開發(fā)者來說,F(xiàn)lutter 都是一個非常適宜的切入角度,值得在新的一年里加入自己的技術(shù)棧中。
關(guān)于這個項目,CSDN(ID:CSDNnews)特別邀請到聲網(wǎng) Agora 資深工程師、Agora Flutter SDK 技術(shù)負(fù)責(zé)人龔宇華,就項目的開發(fā)實(shí)踐、實(shí)時互動技術(shù)的發(fā)展以及開源選擇等問題進(jìn)行了分享:
開發(fā)那些事:為什么選擇 Flutter?
“Flutter 作為谷歌大力主導(dǎo)推進(jìn)的跨平臺開發(fā)框架,在去年得到了越來越多開發(fā)者的關(guān)注。聲網(wǎng)在去年注意到這個趨勢,展開了一定的預(yù)研,并在 Flutter 正式發(fā)布 1.0 后第一時間推出了 Flutter 版 SDK。包括 React Native、Electron 等開發(fā)者使用較多的跨平臺框架,我們也都推出了對應(yīng)的SDK,方便開發(fā)者在自己的開發(fā)平臺上接入我們的實(shí)時音視頻服務(wù)?!?/p>
“Flutter 同時還是一個正在快速發(fā)展中的跨平臺開發(fā)框架,基礎(chǔ)文檔非常完整和具體,因此無論是開發(fā) App 還是開發(fā) plugin,上手都比較容易,照著官方文檔的指導(dǎo)步驟很快就能搭起完整的開發(fā)環(huán)境。Flutter 使用的 Dart 語言需要一些熟悉時間,但作為一門比較新的現(xiàn)代編程語言,語法掌握起來并不復(fù)雜??偟膩碚f,整個開發(fā)過程比較順利,沒有遇到什么坑?!?/p>
對商業(yè)團(tuán)隊而言,F(xiàn)lutter 的生態(tài)是否足夠完善曾經(jīng)是大家關(guān)注的重點(diǎn),談及 Flutter 現(xiàn)階段的優(yōu)勢與不足,龔宇華也坦言,“Flutter 還在快速的發(fā)展中,二月底已經(jīng)發(fā)布了 1.2.1 版本,除了性能、穩(wěn)定性的提升外,帶來了新的 Web 開發(fā)工具。目前 Flutter 還無法很好地支持一些系統(tǒng)級的功能服務(wù),比如應(yīng)用內(nèi)支付、推送通知、數(shù)據(jù)持久化保存等。語言能力上,Dart 和 C/C++ 的橋接也不夠簡單。這些都是今年 Flutter 需要繼續(xù)改善的地方。另外,擴(kuò)展到對 PC 平臺的支持也是很多開發(fā)者期待的功能“。
5G 風(fēng)口下,實(shí)時互動技術(shù)的機(jī)遇與挑戰(zhàn)
為 Flutter App 實(shí)現(xiàn)實(shí)時音視頻通話功能是 Agora Flutter SDK 的主要特性。放之眼下,實(shí)時互動技術(shù)也確乎處于全面爆發(fā)時期,而傳輸延時問題一直是討論這一問題時所關(guān)注的重點(diǎn)。對此,龔宇華分析表示:
“在實(shí)時音視頻通話中,延時產(chǎn)生于各個環(huán)節(jié)中。采集和渲染本身產(chǎn)生的延時和設(shè)備硬件能力和內(nèi)核優(yōu)化有關(guān)。而傳輸延時一般指設(shè)備端到服務(wù)端的延時和服務(wù)端內(nèi)部傳輸?shù)难訒r。設(shè)備端到服務(wù)端的延時由設(shè)備端本身和接入的網(wǎng)絡(luò)運(yùn)營商質(zhì)量決定,服務(wù)端內(nèi)部傳輸則要靠路由選擇、骨干網(wǎng)優(yōu)化等技術(shù)手段降低延時。當(dāng)然,傳輸延時再怎么優(yōu)化也是無法打破物理極限的,不同的應(yīng)用場景對延時的要求也不一樣。比如社交直播、在線K歌等互動性強(qiáng)的場景,對低延時要求很高,而金融、直播答題等場景則更注重安全性、畫質(zhì)等其他技術(shù)指標(biāo)。因此在實(shí)際應(yīng)用中,需要根據(jù)場景的特性綜合延時、卡頓、音頻質(zhì)量、視頻清晰度等指標(biāo)一起進(jìn)行權(quán)衡,選擇合適的方案。”
而談及眼下火勢甚旺的 5G 將會給實(shí)時互動領(lǐng)域帶來的機(jī)遇和挑戰(zhàn),龔宇華指出,“5G 帶來的帶寬提升和延時降低對實(shí)時互動領(lǐng)域的影響是巨大的。隨著 5G 時代的到來,實(shí)時傳輸 4K 分辨率將成為可能。移動設(shè)備硬件能力的進(jìn)一步提升也能實(shí)現(xiàn)復(fù)雜度更高的編解碼能力。這些都讓將來的實(shí)時視頻通話更高清和流暢,也會帶來很多新的交互場景,比如 AR/VR 交互,實(shí)時 AI 換臉等等。這對音視頻編解碼、數(shù)據(jù)傳輸?shù)然A(chǔ)技術(shù)都提出了新的挑戰(zhàn)”。
Flutter 及 Agora Flutter SDK 的未來趨勢
明天的 Flutter
“跨平臺開發(fā)框架一直是一個熱門的潮流,F(xiàn)lutter 作為由谷歌推進(jìn)的跨平臺項目,從第一天起就吸引了大量注意力。隨著不斷的完善,也不乏一些公司已經(jīng)選擇 Flutter 作為主要開發(fā)框架??偟膩碚f,目前正處于開發(fā)者進(jìn)來嘗鮮的階段,如果今年谷歌能保持對 Flutter 進(jìn)行質(zhì)量和性能的改進(jìn),相信這個框架會得到越來越多的開發(fā)者的認(rèn)可?!?/p>
明天的 Agora Flutter SDK
“Agora Flutter SDK 已經(jīng)完成了對基礎(chǔ)實(shí)時音視頻功能的集成,開發(fā)者只要有實(shí)時溝通的需求,都可以使用 Agora Flutter SDK,將來會陸續(xù)集成加密、美顏等進(jìn)階功能。我們也將持續(xù)關(guān)注 Flutter 社區(qū),聆聽開發(fā)者的需求?!?/p>
開源的可持續(xù)發(fā)展困局
據(jù)悉,目前該插件已在 GitHub 上開源:
https://github.com/AgoraIO/Flutter-SDK
而“開源”長期以來也都是開發(fā)者們會持續(xù)關(guān)注的話題,近來業(yè)界更是圍繞“開源的可持續(xù)發(fā)展”發(fā)起了不少討論。GitHub 的開源項目經(jīng)理 Devon Zuegel 就在不久前發(fā)布的一篇文章中,強(qiáng)調(diào)了開源社區(qū)中的一些問題,其中包括資源與治理不足、缺乏溝通、工作超負(fù)荷等。
此次采訪中,龔宇華也就 Flutter 和開源相關(guān)的問題談了談自己的看法:
“開源加速了技術(shù)和行業(yè)的交流和發(fā)展,這也是為什么互聯(lián)網(wǎng)可以發(fā)展如此迅速的原因。但是開源本身又有一個難以避免的問題,就是開源項目大多是靠開發(fā)者和社區(qū)自身的驅(qū)動,很容易因為技術(shù)發(fā)展受限或者其他現(xiàn)實(shí)原因推進(jìn)不了而擱置。相對而言,F(xiàn)lutter 本身是個開放的開源社區(qū),背后卻有大公司推動,相當(dāng)于兩者的結(jié)合。既可以以開放促進(jìn)技術(shù)迭代,同時又有大公司積極推動,所以目前比較火?!?/p>
-
Android
+關(guān)注
關(guān)注
12文章
3903瀏覽量
126610 -
應(yīng)用開發(fā)
+關(guān)注
關(guān)注
0文章
57瀏覽量
9227
原文標(biāo)題:叫板 Android 開發(fā)!跨平臺應(yīng)用開發(fā)神器 Flutter 又添開源插件!| 技術(shù)頭條
文章出處:【微信號:shengwang-agora,微信公眾號:聲網(wǎng)Agora】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論