Flutter Engage China 開發者常見問題解答 | 上篇

再次感謝你們對 Flutter Engage China 活動 的關注和積極參與!咱們在活動先後收到了不少來自開發者的反饋和問題,Flutter 團隊和演講嘉賓在直播 Q&A 環節中也針對部分問題在第一時間給出回覆。如今咱們將一些開發者關心的問題和回覆整理出來分享給你們,但願對您有所幫助。因爲問題數量較多,咱們會分爲上下兩期發佈。您也能夠觀看 Flutter Engage China 視頻回顧精彩內容:前端

➡️ 點擊這裏觀看直播回顧視頻 ⬅️linux

如何更好地解決跟平臺硬件交互的問題?

回答者: 於瀟,Google Flutter 移動端團隊負責人git

和硬件 API 交互最好的方法是經過 平臺通道 (Platform Channel) 和平臺的 SDK 進行交互。在這之上也有 Pigeon 之類的插件可供你們使用,它能夠生成針對全部語言的終點 (endpoint),從而簡化平臺通道代碼的編寫過程。github

若是硬件有 C++ 的驅動的話,也可使用 外部函數接口 (FFI),經過 FFI 調用 C++ 的 SDK 來使用硬件層的能力。web

Flutter 在開發效率方面有哪些優點?

回答者: 劉森森,阿里巴巴 UC 客戶端團隊函數

Flutter 的開發效率很高,從阿里巴巴和 UC 多個團隊的實際應用狀況來看,主要體如今如下幾點:工具

  • Flutter 具有很是良好的研發體驗 ,能夠說是很是接近 web 了: 包括提供了設備的熱重載功能,在 IDE 裏也能提供可視化佈局,這些都很是便於開發和迭代。
  • Flutter 內置了不少符合現代化 UI 設計的 widget ,使得開發團隊能很容易地開發出 UI 表現力很好的 Flutter 頁面。
  • Flutter 跨平臺的一致性很是強大

從開發者們實際落地使用的效果來看,單客戶端的開發者使用 Flutter 就能夠覆蓋多端的研發任務。在 UC 團隊裏,前端的開發者也能深度參與 Flutter 的業務開發。另外 Flutter 在互操做上也很靈活,好比提供了 FFI、平臺通道、外接紋理等作法,讓開發團隊能夠更容易地爲 Flutter 提供現有的原生組件,爲組件研發的速度帶來了很是大的提高。佈局

在團隊正式使用 Flutter 以前,建議你們把 Flutter 融入到現有的研發工做流程裏,包括開發、測試、集成等各個階段,併爲開發者們進行一些常規的 Flutter 技能培訓,這些作法能夠大幅提高 Flutter 落地的效率。post

總的來講,Flutter 對比傳統的 Android 和 iOS 研發效率有質的飛躍。性能

Flutter 適合作遊戲開發嗎?

回答者: 樊舟穎 (Zoey),Google Flutter 產品經理

Flutter 的初衷並非爲遊戲而創做的,也就是說,遊戲的應用場景並非 Flutter 一開始所考慮的。可是咱們在過去的一年到一年半里,發現確實有愈來愈多的遊戲開發者開始使用 Flutter,並且在 Play Store 裏得到了很是大的下載量。

就咱們觀察到的狀況而言,強調性能和圖像表現,或者須要用到不少重力感應等特殊組件的遊戲大部分仍是會用 Unity 這樣的引擎來開發。可是一些休閒遊戲,好比字謎、猜圖、連連看,咱們有看到愈來愈多的人在使用 Flutter 開發。

後續咱們會經過用戶問卷調查,瞭解遊戲開發者使用 Flutter 的話主要有哪些需求。

Flutter 1 升級到 2 後有不少 API 都過期了,有好的方法快速從 1 轉 2 麼?

回答者: 董韜,Google Flutter 用戶體驗研究負責人

Flutter 2.0 版本的發佈是一個比較主要的升級,從 release note 來看有大概 12 個重大變動 (breaking changes)。咱們團隊對 API 的更改一直抱持很是謹慎的態度。畢竟咱們也瞭解開發者須要去更新到新的版本,這個過程當中會碰到一些障礙。但咱們也會不斷改進 API,來讓 Flutter 自己更加好用、易用。

若是在升級 Flutter 的過程當中碰到 API 變動的問題,這裏有兩個建議:

  • 請考慮使用咱們在 2.0 版本中同時發佈的 Flutter Fix 工具。這個工具備命令行,也有和 IDE 進行集成,能夠幫助你們更方便地自動進行 API 升級。
  • 建議你們放心及時地升級 Flutter 版本。若是您從一個相鄰的版本升級到一個新的版本,那麼須要更改的代碼通常是比較少的。

Flutter 的渲染默認不是平臺的主線程,那在渲染的時候會不會因爲線程優先級問題而影響流暢度?若是出現流暢度問題,該如何解決?

回答者: 於瀟,Google Flutter 移動端團隊負責人

線程優先級確實有可能致使問題。在 Android 上咱們是有改變 "背景" 線程的優先級的,但在 iOS 上目前尚未。請繼續關注咱們在這方面的探討: https://github.com/flutter/flutter/issues/65752

除了 Ubuntu,其餘 Linux 版本 (如 Red Hat) 要定製開發底層解析 Flutter 引擎嗎?

回答者: 董韜,Google Flutter 用戶體驗研究負責人

Flutter 對 Linux 的支持實際上是不只限於 Ubuntu 的。只要您使用的 Linux 是 64 位的,就能夠安裝和使用 Flutter 去開發 App。具體能夠參考 Flutter 官方的 Linux 安裝說明

Ubuntu 則更方便了一些,提供了一個官方的 Flutter 安裝工具。另外 Ubuntu 也開始用 Flutter 開發一些內置的 App。

但願官方插件儘快解決現有的 issue,期待 Flutter 生態愈來愈好!

回答者: 楊天航 (Chris),Google Flutter 團隊工程師

謝謝提出這個問題的同窗。咱們在去年的時候,因爲各類緣由,把主要的工做重點放在了基礎設施的建設上,包括穩定性這些方面。今年咱們的工做重點之一就是解決 issue,包括對 pull request 的審覈等。大概在一個月前,咱們大大增長了每週整理 issue 和 PR 的時間,增長爲去年的 4 倍以上。

另外,咱們目前還在跟一些公司和團隊進行合做,好比 Baseflow,Invertase,以及和社區進一步加大合做,從而進一步提升 Flutter 插件的質量。

・・・

以上就是 Flutter Engage China 開發者常見問題解答 (上篇) 的內容,也請你們繼續關注即將到來的下篇內容。若是您有任何疑問或者建議,也歡迎在評論區和咱們分享。

相關文章
相關標籤/搜索