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 就內建了 Kotlin,所以能輕鬆搜尋及追蹤 。」
Compose 讓 Monzo 團隊輕鬆測試應用程式,確保應用程式 方便取用:「有了它後,我們編寫了較不脆弱的測試,穩定執行。 並讓我們相信我們擁有應用程式的實際運作能力 使用者。透過語意系統進行測試也可確保畫面 表示至少合理可以正常存取。」
開始使用
進一步瞭解 Compose。