【文章內容使用 Gemini 1.5 Pro 自動產生】
Flutter 2023 年第一季調查:API 重大變更、深度連結等
Flutter 團隊自 2018 年發佈 1.0 版本以來,一直執行季度使用者調查計畫。第 19 次調查 在 2023 年第一季宣布,在為期 14 天的窗口內收集了 13,378 份回覆。調查旨在從 Flutter 開發人員那裡收集及時的回饋,其中包括關於以下主題的問題:
- Flutter 的感知成長
- API 重大變更
- 深度連結
總體而言,93% 的受訪者表示他們對 Flutter 感到滿意(有點滿意 + 非常滿意),其中 55% 表示非常滿意。這個數字自 2022 年 8 月以來一直保持一致。值得注意的是,開發人員對 Flutter 的滿意度仍然很高,因為在這個時間段內,使用者人數增加了 24%。
Flutter 的感知成長
在本節中,我們詢問了受訪者對 Flutter 最近成長的看法。我們相信開發人員對 Flutter 成長的認知會影響他們是否繼續使用它,我們想了解我們的認知是否與使用者的認知一致。
當我們要求受訪者評估最近的成長時,80% 的人表示 Flutter 的普及度成長很快,如下圖所示。這與我們的資料相符,資料顯示,如前所述,過去 3 個季度的月活躍使用者人數增加了 24%。
根據 80% 在前一個問題中選擇「快」的受訪者(N=2877)的說法,Flutter 團隊的改進是 Flutter 感知快速成長的主要因素(63%)。其他值得注意的因素包括學習資源(57%)、與 Flutter 協同工作的工具和服務(51%)以及全球線上社群(50%)。令人欣慰的是,我們了解到 Flutter 團隊可以改進的領域也促進了感知的成長。我們將繼續推出新的影片,與其他團隊合作改進工具,並支援健康的社群。
對於那些表示該技術成長緩慢的人(4%,或 137 人),最常見的原因是缺乏工作職位(66%)和知名公司採用(55%)。Flutter 的開發人員關係團隊發現,一些招聘經理難以找到合格的候選人,而求職者難以提升技能以滿足招聘公司的要求。為了彌合這一差距,Flutter 團隊計畫致力於更多資源,幫助 Flutter 開發人員在努力找工作時提升技能。我們還將繼續分享 開發者故事,讓您了解其他人是如何將 Flutter 用於他們的生產應用程式。
API 重大變更
重大變更是指引入與 API 舊版本不兼容的新行為的變化。重大變更幫助我們保持 API 的乾淨和一致,但開發人員需要更新他們之前編寫的代碼以使用新的行為,無論是重大變更(例如在 Dart 中引入空安全),還是小變更(例如 GestureRecognizer.kind()
的棄用)。
為了減少與此過程相關的痛苦,Flutter 一直在各個地方宣布重大變更(例如 Flutter 網站,以及 Flutter 公告 或 Dart 公告 Google 群組)。在每個穩定版本中,工具都會更新以在適當時顯示警告訊息,並在可能的情況下提供遷移工具(Flutter 修復、dart fix
命令)。Flutter 開發者 2019 年調查詢問了開發者對重大變更的看法,以確保 API 更乾淨。總體而言,開發者喜歡這個想法,但我們被要求牢記以下事項:
- 慢慢地變更
- 提供一個良好的遷移工具
- 提供文件、範例、教學課程、變更日誌
- 清楚地解釋好處
- 廣泛地宣布
由於 Flutter 從那時起經歷了顯著的成長(開發者數量和 API 大小都有所增加),我們想再次調查您,並決定是否有必要更新我們的政策。
總體而言,在過去 12 個月內受到重大變更影響的開發人員比例從 4 年前的 30% 上升到 51%。
44% 的受訪者受到重大變更影響,他們對必須不斷更新代碼感到沮喪,這也高於 2019 年(32%)。但是,與 2019 年(47%)相比,大多數人同意這些變更使代碼更乾淨(67%)。此外,大多數受訪者同意這些變更很有價值(63%),這比 2019 年的 49% 有所增加。
這表明我們引入的變更的複雜性似乎有所增加,但我們成功地讓這些變更為開發人員帶來了價值。鑑於總體而言 60% 的受訪者認為重大變更的好處多於困擾(而 11% 的人持相反觀點),我們了解到這些變更對 Flutter 開發人員來說在很大程度上是有益的。
我們還詢問了您對重大變更處理方式的滿意度。我們了解到,在我們努力的各個方面,滿意度評級都是一致的。
鑑於此,我們決定加倍努力執行我們的現行政策。我們計畫找到更多方法自動化遷移,改善文件的可發現性,並更廣泛地傳達我們所做變更的價值和理由。
我們預計在幾年後再次重新審視這一點。隨著 Flutter 的成熟,我們相信開發人員可能會從重視重大變更中引入的改進轉變為重視永遠不會破壞的 API 的穩定性。我們希望充分利用社群了解重大變更價值的時間,但如果這種態度發生變化,則不要讓 Flutter 開發者群體感到沮喪。
深度連結
深度連結將使用者直接傳送到應用程式內位置,而不是傳送到網站或應用程式商店位置。由於這對開發人員來說是一個有用的功能,我們想測量對這個功能的認知,了解開發人員如何實作這個功能,並評估建立深度連結的難度,以便我們能夠更好地支援這個功能。
首先,我們了解到大約一半的受訪者(55%)知道深度連結。在這些人中,大約 50% 嘗試在他們的 Android 應用程式中實作深度連結,大約 39% 嘗試在他們的 iOS 應用程式中實作深度連結,如下圖所示。在兩個平台上,不到 5% 的人報告他們在實作這個功能時遇到了問題。
若要為您的應用程式實作深度連結,您需要配置一個 Web 部分和一個應用程式部分。Web 部分將使用者導向應用程式,而應用程式部分則將使用者導向正確的頁面。
在開發人員選擇建立 Web 的技術方面,大約一半的受訪者表示他們使用 Firebase 動態連結。但是,我們最近從 Firebase 團隊了解到,Firebase 動態連結不再推薦用於新專案。動態連結服務將被停用,改為使用原生檔案(Android 的應用程式連結和 iOS 的通用連結)。Firebase 宣布關閉後,您至少有 12 個月的時間進行遷移。如需更多資訊,請查看 動態連結常見問題解答。
對於應用程式設定,使用者採用了不同的方法。命名路由是最簡單的解決方案,是最受歡迎的選擇(31%)。緊隨其後的是 go_router
套件,如果您想要命名路由不支持的功能(例如路由堆疊管理),它是一個更好的解決方案。這些功能在您需要更多地控制深度連結時特別有用。
從調查中,我們了解到我們應該更加努力地解釋這個功能的價值,以便更多開發人員能夠從中受益,並使其更易於實作。我們計畫在接下來的幾個季度推出一個驗證工具,以簡化實作過程。
接下來是什麼?
Flutter 團隊始終渴望聽到您的意見,並將您的回饋納入工程路線圖。本季度的調查特別有價值,因為它讓我們有信心繼續我們的重大變更政策,並幫助我們發現有關深度連結的盲點。我們將繼續聆聽您的意見,並將您的回饋納入我們的 work。
Flutter 團隊致力於為開發人員提供最佳體驗。我們相信,憑藉您的輸入,我們可以建立一個既強大又對開發人員友好的框架。感謝您持續的支持,期待未來收到您的意見。下一次調查見!
Flutter 2023 年第一季調查:API 重大變更、深度連結等 最初發佈在 Flutter 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。