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 共享業務邏輯——這一點意義重大?!?/p>
與此同時,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,方便開發者在自己的開發平臺上接入我們的實時音視頻服務?!?/p>
“Flutter 同時還是一個正在快速發展中的跨平臺開發框架,基礎文檔非常完整和具體,因此無論是開發 App 還是開發 plugin,上手都比較容易,照著官方文檔的指導步驟很快就能搭起完整的開發環境。Flutter 使用的 Dart 語言需要一些熟悉時間,但作為一門比較新的現代編程語言,語法掌握起來并不復雜??偟膩碚f,整個開發過程比較順利,沒有遇到什么坑。”
對商業團隊而言,Flutter 的生態是否足夠完善曾經是大家關注的重點,談及 Flutter 現階段的優勢與不足,龔宇華也坦言,“Flutter 還在快速的發展中,二月底已經發布了 1.2.1 版本,除了性能、穩定性的提升外,帶來了新的 Web 開發工具。目前 Flutter 還無法很好地支持一些系統級的功能服務,比如應用內支付、推送通知、數據持久化保存等。語言能力上,Dart 和 C/C++ 的橋接也不夠簡單。這些都是今年 Flutter 需要繼續改善的地方。另外,擴展到對 PC 平臺的支持也是很多開發者期待的功能“。
5G 風口下,實時互動技術的機遇與挑戰
為 Flutter App 實現實時音視頻通話功能是 Agora Flutter SDK 的主要特性。放之眼下,實時互動技術也確乎處于全面爆發時期,而傳輸延時問題一直是討論這一問題時所關注的重點。對此,龔宇華分析表示:
“在實時音視頻通話中,延時產生于各個環節中。采集和渲染本身產生的延時和設備硬件能力和內核優化有關。而傳輸延時一般指設備端到服務端的延時和服務端內部傳輸的延時。設備端到服務端的延時由設備端本身和接入的網絡運營商質量決定,服務端內部傳輸則要靠路由選擇、骨干網優化等技術手段降低延時。當然,傳輸延時再怎么優化也是無法打破物理極限的,不同的應用場景對延時的要求也不一樣。比如社交直播、在線K歌等互動性強的場景,對低延時要求很高,而金融、直播答題等場景則更注重安全性、畫質等其他技術指標。因此在實際應用中,需要根據場景的特性綜合延時、卡頓、音頻質量、視頻清晰度等指標一起進行權衡,選擇合適的方案?!?/p>
而談及眼下火勢甚旺的 5G 將會給實時互動領域帶來的機遇和挑戰,龔宇華指出,“5G 帶來的帶寬提升和延時降低對實時互動領域的影響是巨大的。隨著 5G 時代的到來,實時傳輸 4K 分辨率將成為可能。移動設備硬件能力的進一步提升也能實現復雜度更高的編解碼能力。這些都讓將來的實時視頻通話更高清和流暢,也會帶來很多新的交互場景,比如 AR/VR 交互,實時 AI 換臉等等。這對音視頻編解碼、數據傳輸等基礎技術都提出了新的挑戰”。
Flutter 及 Agora Flutter SDK 的未來趨勢
明天的 Flutter
“跨平臺開發框架一直是一個熱門的潮流,Flutter 作為由谷歌推進的跨平臺項目,從第一天起就吸引了大量注意力。隨著不斷的完善,也不乏一些公司已經選擇 Flutter 作為主要開發框架??偟膩碚f,目前正處于開發者進來嘗鮮的階段,如果今年谷歌能保持對 Flutter 進行質量和性能的改進,相信這個框架會得到越來越多的開發者的認可?!?/p>
明天的 Agora Flutter SDK
“Agora Flutter SDK 已經完成了對基礎實時音視頻功能的集成,開發者只要有實時溝通的需求,都可以使用 Agora Flutter SDK,將來會陸續集成加密、美顏等進階功能。我們也將持續關注 Flutter 社區,聆聽開發者的需求。”
開源的可持續發展困局
據悉,目前該插件已在 GitHub 上開源:
https://github.com/AgoraIO/Flutter-SDK
而“開源”長期以來也都是開發者們會持續關注的話題,近來業界更是圍繞“開源的可持續發展”發起了不少討論。GitHub 的開源項目經理 Devon Zuegel 就在不久前發布的一篇文章中,強調了開源社區中的一些問題,其中包括資源與治理不足、缺乏溝通、工作超負荷等。
此次采訪中,龔宇華也就 Flutter 和開源相關的問題談了談自己的看法:
“開源加速了技術和行業的交流和發展,這也是為什么互聯網可以發展如此迅速的原因。但是開源本身又有一個難以避免的問題,就是開源項目大多是靠開發者和社區自身的驅動,很容易因為技術發展受限或者其他現實原因推進不了而擱置。相對而言,Flutter 本身是個開放的開源社區,背后卻有大公司推動,相當于兩者的結合。既可以以開放促進技術迭代,同時又有大公司積極推動,所以目前比較火。”
-
Android
+關注
關注
12文章
3939瀏覽量
127592 -
應用開發
+關注
關注
0文章
59瀏覽量
9393
原文標題:叫板 Android 開發!跨平臺應用開發神器 Flutter 又添開源插件!| 技術頭條
文章出處:【微信號:shengwang-agora,微信公眾號:聲網Agora】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論