Monzo 是銀行與應用程式服務 數位金融服務業他們的使命是賺取收益 造福大眾Monzo 的設計系統開始偏離 Material Design,因此他們希望能輕鬆編寫及維護不斷演進的自訂元件,因此選擇了 Jetpack Compose。
具體措施
使用 Compose 時,質感設計元件會以圖層形式在 具備各設計系統通用的基礎 APIMonzo 運用基礎 API 自己的元件庫 (參考 Material Design 元件做為參考資料)。他們一開始是一次遷移一個畫面,現在則在所有新畫面中使用 Compose。現在,所有 Android 工程師都會在實際工作環境中使用 Compose:「我們 完全未遇到任何重大問題,因此我們有信心地開始著手 並用於部分新功能,最終支援所有新功能。」
結果
Monzo 團隊建立了元件,方便他們輕鬆建構新的元件 螢幕:「我們提供的元件可讓我們建構螢幕 同時學習 Compose 可帶來更順暢的使用體驗。以運算單元為基礎的 API 方便我們輕鬆建構大型元件 隱藏起來。」
有了 Compose,Monzo 團隊就能建構出更高品質的應用程式,並加入先前在衝刺期間無法處理的實用功能:「舉例來說,動畫很容易在 Compose 中加入,因此沒有理由不加入動畫,例如顏色/大小/升降變更。這類「可有可無」的動畫通常太難創造價值 因為 View 系統能簡化整個過程和作業。」
程式碼現在變得更短,也更容易閱讀、瞭解及維護:「與操控可變 UI 階層的程式碼相比,宣告式程式碼更容易推理。其他程式碼追蹤記錄也更輕鬆 通常相同語言且檔案都相同,而非 在 Kotlin 和 XML 之間來回切換。甚至沒辦法開始設計 XML 主題和風格!在 Compose 中,主題設定更容易理解。我們的主題只包含我們定義的屬性,因此各裝置的值都一致,而且因為是使用 Kotlin 編寫,所以在 IDE 中搜尋和追蹤起來非常容易。」
Compose 讓 Monzo 團隊輕鬆測試應用程式,並確保應用程式可供存取:「這項工具有助於我們編寫不易出錯、可靠執行的測試,並讓我們更加有信心,確保應用程式在使用者手中確實可正常運作。透過語意系統進行測試,也能確保螢幕至少在預設情況下可合理存取。」
開始使用
進一步瞭解 Compose。