Google 課堂
使用 Flutter 提高生產力
成功指標
98%
共享移動程式碼
66%
減少程式碼量
50%
提高開發速度
當 Google 課堂團隊看到 GPay 團隊在遷移到 Flutter 後生產力顯著提高時,他們決定也進行切換。觀看影片瞭解過程。
當新冠疫情突然將各地的學生轉為遠端學習時,Google 課堂團隊發現自己幾乎在一夜之間以不同的規模執行。到 2021 年 9 月,課堂支援了數百萬新的月活躍使用者,需要迅速擴大團隊,以快速滿足這些使用者在各個平臺上的需求。由於移動團隊人手緊張,Google 課堂決定探索能夠減輕開發人員負擔的解決方案。
為什麼選擇 Flutter?
Google 課堂團隊知道 Flutter 提供了他們想要的許多功能,包括支援多個平臺的單一程式碼庫。他們根據多項基準評估了 Flutter,包括其對延遲、卡頓、記憶體、二進位制檔案大小、可訪問性和招聘難易程度的影響,並高興地看到採用 Flutter 的好處大於潛在的退步。團隊預計在一些方面會有退步,例如早期不穩定(幾乎是釋出任何全新應用程式固有的)和二進位制檔案大小,但他們相信 Flutter 的單一程式碼庫將使他們能夠長期改進這些方面。基於此成功,團隊獲得了將現有 Google 課堂應用程式遷移到 Flutter 的批准。
他們的解決方案
團隊將工作分為兩個釋出,一個用於 iOS,另一個用於 Android。在用 Flutter 構建了一個全新的 iOS 應用程式後,Google 課堂在六個月後釋出了 Android 版本。
團隊中的大多數人以前從未使用過 Flutter,但 Google 課堂的大多數工程師報告說,Flutter 開發比原生開發更容易。特別是,他們認為熱過載是提高生產力的“遊戲規則改變者”。它使他們無需重新開啟應用程式即可重新整理應用程式,消除了不必要的上下文切換,節省了時間並減輕了開發人員的心理負擔。
成果
遷移到 Flutter 為 Google 課堂帶來了諸多好處。它將增量構建時間從幾分鐘縮短到幾秒鐘,他們估計這每月可節省他們整整一週的開發人員時間。他們報告說,單一程式碼庫將跨平臺的開發時間縮短了“至少 50%”,並簡化了他們的釋出。
還有其他好處。Flutter 將 Google 課堂的程式碼庫大小減少了 54%,使其更易於維護。應用程式效能也得到改善,包括中位數啟動延遲減少 62%,跟蹤的 CUJ 延遲減少 63%。