0%

【文章翻譯】Q4 2021 user survey results: about null safety, ecosystem, text editing, and mobile development

【文章內容使用 Gemini 1.5 Pro 自動產生】

2021 年第四季使用者調查結果:關於空安全、生態系統、文字編輯和行動開發

去年 11 月,Flutter UX 團隊進行了第 15 次季度使用者調查。調查透過 Flutter 的 IDE 外掛、YouTube、Twitter 和網站宣布。在兩個星期內,我們收集了 10,105 份回覆,創下歷史新高,我們了解到 Flutter 開發人員對 Flutter 仍然感到滿意。對 Flutter 感到滿意的人的比例為 92%,自 2019 年第四季以來一直保持穩定。

透過調查,Flutter 團隊也更詳細地了解 Flutter 的優缺點,並據此設定未來任務的優先順序。在這次調查中,我們詢問了以下四個主題,以深入了解這些領域。

  • 空安全
  • 生態系統
  • 文字編輯
  • 行動開發

為了讓調查簡短,我們向不同的群組詢問了不同的問題,因此您可能沒有看到所有這四個主題。無論如何,我們從所有參與者那裡收到了有意義的、具有統計意義的回饋。作為一個開源專案,我們試圖盡可能透明地公開我們收集的數據,因此我們在此分享結果和我們的收穫。

Dart 空安全

Dart 空安全的穩定版本於 2021 年 3 月 發佈。這是該語言中最大的新增功能之一,我們提供了一個遷移工具和一個 指南 來幫助開發人員將現有程式碼遷移到空安全。我們想了解遷移的體驗對您來說如何,這樣我們就可以在未來嘗試進行類似語言變更時做得更好。

總體而言,過去 6 個月使用過 Dart 空安全的 89.5% 的人對此功能感到滿意。那些先前有空安全經驗的人(例如 Kotlin)更有可能對此功能感到滿意(+3 個百分點)。Dart 空安全最大的好處是「程式碼中的錯誤減少了」(79.4%),其次是「更容易理解的程式碼」(49.7%)。

79% 的使用者有 Dart 空安全的使用經驗,並且 90% 對此感到滿意
大多數使用者 (79%) 表示 Dart 空安全減少了他們程式碼中的錯誤

有趣的是,39.9% 的人表示他們的所有程式碼都從一開始就使用空安全。鑑於調查是在穩定版空安全推出後僅 8 個月實施的,因此調查顯示了 Flutter 和 Dart 的快速發展,吸引了新的開發人員。這個結果也顯示了,59% 遷移程式碼的人以某種方式使用了遷移工具(22.0%+19.6%+6.7%=22.0%)。

40% 的使用者從一開始就使用空安全,而 59% 的使用者將其程式碼遷移到空安全

總體而言,調查結果支持繼續發展 Dart 語言使其變得更好。我們將繼續改進並在過程中考慮您的體驗。請繼續提供您的回饋!

生態系統

隨著 Flutter 不斷成熟,其套件和外掛生態系統也得到了改善。這項改善包括來自社群的貢獻,以及 Flutter FavoritesPlus 外掛Weekly Package 等程式和促銷活動。如下所示,對生態系統的滿意度在過去 2 年中提高了 7 個百分點。

對 Flutter 套件和外掛生態系統的滿意度在過去 2 年中提高了 7.5 個百分點

然而,我們仍然聽到您說,仍然有許多套件和外掛需要改進。為了更好地了解您的需求,我們詢問了「過去 3 個月是否有任何 Flutter 或 Dart 套件降低了您的應用程式開發生產力?」當 3,698 人中有 28.7% 對此問題回答「是」時,我們列出了 42 種不同的套件類型,並詢問了哪些套件降低了生產力。排名前 15 的套件如下。

雖然各種套件都導致開發人員生產力下降,但「Firebase」的排名第一,獲得了 22% 的投票。

Firebase 被 Flutter 使用者廣泛使用,這導致了相對較多的投票(22.1%)。我們將繼續投入到 Firebase 外掛(「FlutterFire」外掛)中。例如,去年 12 月,我們 發佈了 FlutterFire 外掛的穩定版本 並對其進行了標準化。這意味著所有 FlutterFire 外掛現在都使用相同底層版本的 SDK,開發人員在混合和匹配外掛時不會遇到版本不兼容問題。我們計劃監控此情況,並希望在下次詢問這個問題時看到 Firebase 變成開發人員更有效的服務。

上面圖表中另一個值得注意的是,42 個常見項目無法涵蓋所有需求,而 19.2% 的人選擇指定降低生產力的「其他」類型的套件和外掛。這突出了我們只是一個社群才能解決的各種需求。

對於這些套件,最大的挑戰是功能完整性——23.1% 的人表示套件的功能不完整,因此他們必須使用多個套件才能實現類似功能,或者無法滿足他們的需求。

套件的功能完整性是導致開發人員生產力下降的最主要因素

Flutter 團隊一直在努力改進我們第一方外掛的開發過程,使其更容易維護和改進。例如,webview_flutter 3.0 最近發佈,以解決許多頂級功能需求,我們將繼續投資於解決該外掛和其他外掛中投票數最高的議題。

即使我們自己繼續投入到 Flutter 和 Dart 團隊擁有的 數百個套件 這些都是 Flutter 社群可以發揮關鍵作用的領域。當我們都投入套件開發時,我們都會受益!

文字編輯

Flutter 提供了內建的 Widget,例如 TextField、TextFormField(以及它們的 Cupertino 對應物),以及各種套件,讓您可以在應用程式中加入文字編輯功能。當需要實作 live 篩選和格式化(例如,僅數字的電話號碼或價格輸入欄位)或豐富的文字編輯器(例如程式碼或數學公式編輯器)時,這會很快變得複雜。

從這次調查中,我們了解到大約 86.7% 的中級或高級經驗開發人員嘗試在他們的應用程式中加入文字編輯功能,而且對文字編輯功能的滿意度從單行 (82.3%) 和 live 篩選和格式化 (82.2%) 下降到多行 (69.6%) 和豐富文字編輯器 (66.6%)。

專家往往在將文字編輯功能加入應用程式方面擁有更多經驗

根據這個回饋,核心框架團隊計劃建立穩固的基本豐富文字編輯功能和 API 來支援套件。此外,團隊計劃更好地宣傳現有功能並建立更多範例。同時,您可以探索關於文字編輯變更的 設計文件 以查找有用的文件,以及 這個 GitHub 議題,以了解進度。這項工作已經進行得很好,一些低階 API 現在已經在 master channel 中。

我們也聽說了與支援不同語言相關的挑戰。例如,我們清楚地聽到 RTL 和雙向文字(例如阿拉伯語)無法正常運作。雖然沒有書面路線圖,但我們計劃很快大力推動更好地支援 RTL 和雙向文字編輯。

行動開發

由於行動平台(iOS 和 Android)是 Flutter 最初正式支援的平台,因此大多數人都有在過去 6 個月內開發 iOS 或 Android 應用程式的經驗。團隊想更好地了解特定於平台的問題,例如與除錯和發佈相關的挑戰,以便團隊能夠更好地為其工程工作設定優先順序。

過去 6 個月,分別有 72% 和 91% 的開發人員為 iOS 和 Android 開發應用程式

在除錯方面,在兩個平台上,使用者在加入或升級套件或外掛時,經常需要處理特定於平台的問題。雖然在許多情況下除錯 Android 問題並不常見,但值得注意的是,在 Android 上除錯以優化效能比 iOS 更常見。

在加入或升級套件或外掛時,除錯平台問題的頻率更高

我們還了解到,在發佈應用程式時,處理 Xcode(iOS)和 Gradle(Android)是最常見的問題,這與我們的直覺一致。我們已經讓 Flutter CLI 顯示針對常見 Gradle 錯誤的使用者友善錯誤訊息,這個功能已在最新更新 Flutter 2.10 中發佈。

我們將繼續改進這些構建系統錯誤的呈現方式,使其更容易理解和操作。對於 iOS,我們將在未來的版本 (相關議題在此) 中加入 flutter build ipa 功能,使發佈變得更容易。更多 Xcode 設定也會自動填充到新專案 (議題) 中。對於 Android,我們正在開發一個自動遷移工具,它將有助於查找 Gradle 配置檔案中的細微差異。

超過 36% 的開發人員在發佈應用程式時處理 Xcode (iOS) 和 Gradle (Android) 問題

接下來是什麼?

開發人員越來越多地將 Flutter 作為他們主要工作的一部分使用。Flutter 團隊將繼續聆聽並使用您的回饋來塑造我們的技術。如果您有任何緊急問題,請在 GitHub 上提交議題。

使用 Flutter 作為主要工作的開發人員比例一直在增加

Flutter 季度使用者調查將繼續尋找重要問題的答案。您也可以在 GitHub 上發佈您的研究想法。請留意下一次調查。此外,請考慮透過 註冊參加未來的 UX 研究 來參與其他研究。

再次感謝所有提供回饋的人!


2021 年第四季使用者調查結果:關於空安全、生態系統、文字編輯和行動開發 最初發佈在 Flutter 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。