當前位置:
首頁 > 科技 > 叫板 Android 開發!跨平台應用開發神器 Flutter 又添開源插件!

叫板 Android 開發!跨平台應用開發神器 Flutter 又添開源插件!

Flutter 的「野心」,在新一年裡開出了花……

圖源:Flutter 官網

Flutter 一頭扎進了 2019,「一不小心」就遍地開花了。

從 2016 年項目啟動,到在 2017 年的 Google I/O 大會上首次公開亮相,再到 2018 年底憑藉1.0 正式版的推出狠狠刷了一波屏,Flutter 歷經觀望審視、萬眾矚目復又「泯然眾人」,近來也再次回歸業界關注的焦點。

Google 方面似乎也從未隱藏其傾注在 Flutter 身上的「野心」——當 Android 開發的地位受到危及時,Google 面對各路競爭回應稱,「其他框架都無法和我們競爭,因為我們的競爭對手是我們自己!「。於是乎,承擔著與原生 Android 競爭使命的 Flutter 應運而生。彼時的 Google 將其定義為「一款新的用於創建移動應用的開源庫」,「有助於更容易,更快速地開發出界面美觀的移動應用。」

繼而隨著 Flutter 1.0 正式版的推出,毫無意外地吸引了各方關注。更有評論稱其為「Google 承前啟後的一步棋」,「前指的是基於 Android 和 iOS 的跨平台解決方案;後指的是它也是谷歌的下一代操作系統 Fuchsia 的開發語言」。

「Flutter 的核心是一個獨立的可執行二進位文件,所以它不僅能改變移動開發的世界,也能改變桌面開發的世界。你只需編寫一次代碼,就可以在 Android、iOS、Windows、Mac 和 Linux 上以原生方式發布,還能通過 AngularDart 與 Web 共享業務邏輯——這一點意義重大。」

與此同時,Google 方面也透露,「雖然 Flutter 的首要目標平台是 iOS 和 Android,但他們也在不斷探索將 Flutter 拓展到手機端以外的更多平台上」。

諸多吸引人的特性之下,Flutter 也積累了大批關注者。有評論表示,「儘管 Flutter 社區仍然很年輕,但是已經逐漸有不少優秀的第三方插件湧現出來,加上 Dart 相對全面的標準庫,實現這樣一個音視頻 SDK 或是類似的功能並不需要自己大量地去造輪子」。

Flutter WebRTC:Agora Flutter SDK 設計實踐

近日,聲網應開發者需求,推出了 Agora Flutter SDK,以 Flutter Plugin 的形式為 Flutter App 增添實時音視頻能力。Flutter 產品經理 Tim Sneath 亦透過 Twitter 表達了其對該項目的期待:

聲網 Agora Web 工程師郝陽在此前的項目介紹文章中表示:

在應用層的開發過程中,風格非常接近於使用 React 進行 Web 開發,加上 Flutter 亞秒級的 Hot Reload 等特性,在開發體驗與效率上相比原生開發確實有著不小的優勢。

再考慮到逐漸完善的跨平台特性(桌面端的 flutter-desktop-embedding 項目與瀏覽器端的 humming bird 項目)以及可能會到來的谷歌新操作系統 Fuchsia,對於無論是想要接觸到原生開發的 Web 開發者,還是追求更高的開發效率和更好的開發體驗的原生開發者來說,Flutter 都是一個非常適宜的切入角度,值得在新的一年裡加入自己的技術棧中。

關於這個項目,CSDN(ID:CSDNnews)特別邀請到聲網 Agora 資深工程師、Agora Flutter SDK 技術負責人龔宇華,就項目的開發實踐、實時互動技術的發展以及開源選擇等問題進行了分享:

開發那些事:為什麼選擇 Flutter?

「Flutter 作為谷歌大力主導推進的跨平台開發框架,在去年得到了越來越多開發者的關注。聲網在去年注意到這個趨勢,展開了一定的預研,並在 Flutter 正式發布 1.0 後第一時間推出了 Flutter 版 SDK。包括 React Native、Electron 等開發者使用較多的跨平台框架,我們也都推出了對應的SDK,方便開發者在自己的開發平台上接入我們的實時音視頻服務。」

「Flutter 同時還是一個正在快速發展中的跨平台開發框架,基礎文檔非常完整和具體,因此無論是開發 App 還是開發 plugin,上手都比較容易,照著官方文檔的指導步驟很快就能搭起完整的開發環境。Flutter 使用的 Dart 語言需要一些熟悉時間,但作為一門比較新的現代編程語言,語法掌握起來並不複雜。總的來說,整個開發過程比較順利,沒有遇到什麼坑。」

對商業團隊而言,Flutter 的生態是否足夠完善曾經是大家關注的重點,談及 Flutter 現階段的優勢與不足,龔宇華也坦言,「Flutter 還在快速的發展中,二月底已經發布了 1.2.1 版本,除了性能、穩定性的提升外,帶來了新的 Web 開發工具。目前 Flutter 還無法很好地支持一些系統級的功能服務,比如應用內支付、推送通知、數據持久化保存等。語言能力上,Dart 和 C/C 的橋接也不夠簡單。這些都是今年 Flutter 需要繼續改善的地方。另外,擴展到對 PC 平台的支持也是很多開發者期待的功能「。

5G 風口下,實時互動技術的機遇與挑戰

為 Flutter App 實現實時音視頻通話功能是 Agora Flutter SDK 的主要特性。放之眼下,實時互動技術也確乎處於全面爆發時期,而傳輸延時問題一直是討論這一問題時所關注的重點。對此,龔宇華分析表示:

「在實時音視頻通話中,延時產生於各個環節中。採集和渲染本身產生的延時和設備硬體能力和內核優化有關。而傳輸延時一般指設備端到服務端的延時和服務端內部傳輸的延時。設備端到服務端的延時由設備端本身和接入的網路運營商質量決定,服務端內部傳輸則要靠路由選擇、骨幹網優化等技術手段降低延時。當然,傳輸延時再怎麼優化也是無法打破物理極限的,不同的應用場景對延時的要求也不一樣。比如社交直播、在線K歌等互動性強的場景,對低延時要求很高,而金融、直播答題等場景則更注重安全性、畫質等其他技術指標。因此在實際應用中,需要根據場景的特性綜合延時、卡頓、音頻質量、視頻清晰度等指標一起進行權衡,選擇合適的方案。」

而談及眼下火勢甚旺的 5G 將會給實時互動領域帶來的機遇和挑戰,龔宇華指出,「5G 帶來的帶寬提升和延時降低對實時互動領域的影響是巨大的。隨著 5G 時代的到來,實時傳輸 4K 解析度將成為可能。移動設備硬體能力的進一步提升也能實現複雜度更高的編解碼能力。這些都讓將來的實時視頻通話更高清和流暢,也會帶來很多新的交互場景,比如 AR/VR 交互,實時 AI 換臉等等。這對音視頻編解碼、數據傳輸等基礎技術都提出了新的挑戰」。

Flutter 及Agora Flutter SDK 的未來趨勢

明天的 Flutter

「跨平台開發框架一直是一個熱門的潮流,Flutter 作為由谷歌推進的跨平台項目,從第一天起就吸引了大量注意力。隨著不斷的完善,也不乏一些公司已經選擇 Flutter 作為主要開發框架。總的來說,目前正處於開發者進來嘗鮮的階段,如果今年穀歌能保持對 Flutter 進行質量和性能的改進,相信這個框架會得到越來越多的開發者的認可。」

明天的Agora Flutter SDK

「Agora Flutter SDK 已經完成了對基礎實時音視頻功能的集成,開發者只要有實時溝通的需求,都可以使用 Agora Flutter SDK,將來會陸續集成加密、美顏等進階功能。我們也將持續關注 Flutter 社區,聆聽開發者的需求。」

開源的可持續發展困局

據悉,目前該插件已在 GitHub 上開源:

https://github.com/AgoraIO/Flutter-SDK

而「開源」長期以來也都是開發者們會持續關注的話題,近來業界更是圍繞「開源的可持續發展」發起了不少討論。GitHub 的開源項目經理 Devon Zuegel 就在不久前發布的一篇文章中,強調了開源社區中的一些問題,其中包括資源與治理不足、缺乏溝通、工作超負荷等。

此次採訪中,龔宇華也就 Flutter 和開源相關的問題談了談自己的看法:

「開源加速了技術和行業的交流和發展,這也是為什麼互聯網可以發展如此迅速的原因。但是開源本身又有一個難以避免的問題,就是開源項目大多是靠開發者和社區自身的驅動,很容易因為技術發展受限或者其他現實原因推進不了而擱置。相對而言,Flutter 本身是個開放的開源社區,背後卻有大公司推動,相當於兩者的結合。既可以以開放促進技術迭代,同時又有大公司積極推動,所以目前比較火。」

熱 文推 薦


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

30 秒?!Chrome 插件帶你速成編程學習 | 程序員硬核評測
波音 737 連續墜毀,AI 要背鍋?

TAG:CSDN |