Monzo là một ngân hàng và ứng dụng cung cấp dịch vụ tài chính kỹ thuật số. Sứ mệnh của họ là kiếm tiền cho mọi người. Hệ thống thiết kế của Monzo bắt đầu lệch khỏi Material Design, họ muốn có một cách dễ dàng để viết và duy trì các thành phần tuỳ chỉnh liên tục phát triển, vì vậy, họ chọn Jetpack Compose.
Những việc họ đã làm
Với Compose, các thành phần Material Design được cung cấp dưới dạng một lớp trên các API nền tảng không phân biệt hệ thống thiết kế. Monzo đã sử dụng các API nền tảng để tạo thư viện thành phần riêng, sử dụng các thành phần Material làm tham chiếu. Chúng bắt đầu bằng cách di chuyển từng màn hình, giờ đây sử dụng Compose trong tất cả các màn hình mới. Giờ đây, tất cả kỹ sư Android đều sử dụng Compose trong quá trình phát triển công khai: “Chúng tôi không gặp phải vấn đề lớn nào, vì vậy, chúng tôi cảm thấy đủ tự tin để bắt đầu sử dụng công cụ này cho một số tính năng mới được chọn và cuối cùng là cho tất cả tính năng mới”.
Kết quả
Nhóm Monzo đã tạo các thành phần cho phép họ dễ dàng xây dựng màn hình: "Các thành phần chúng tôi cung cấp ngay từ đầu giúp tạo ra một màn hình trong khi tìm hiểu Compose một trải nghiệm mượt mà hơn nhiều. API dựa trên vị trí là một tuyệt vời giúp chúng tôi dễ dàng xây dựng các thành phần lớn hơn từ rất nhiều thành phần nhỏ."
Với Compose, nhóm Monzo đã có thể xây dựng một ứng dụng chất lượng cao hơn, thêm các tính năng thú vị mà trước đây họ không thể thực hiện trong các phiên chạy nước rút: “Một ví dụ là ảnh động – rất dễ thêm ảnh động vào Compose nên hiếm có lý do nào để không tạo ảnh động như thay đổi màu sắc/kích thước/độ cao. Những hoạt ảnh "hữu ích" này thường quá khó để có giá trị công sức và độ phức tạp trong hệ thống Khung hiển thị."
Mã của họ hiện đã ngắn hơn và dễ đọc, dễ hiểu hơn và duy trì: "Mã khai báo dễ giải thích hơn nhiều so với mã thao túng một hệ phân cấp giao diện người dùng có thể thay đổi. Việc theo dõi qua mã cũng dễ dàng hơn khi tất cả được viết bằng cùng một ngôn ngữ và thường là cùng một tệp, thay vì chuyển đổi qua lại giữa Kotlin và XML. Thậm chí, đừng bắt đầu sử dụng XML giao diện và phong cách! Việc tạo giao diện trở nên dễ hiểu hơn rất nhiều trong Compose. Chủ đề của chúng tôi chỉ bao gồm các thuộc tính do chúng ta xác định, các giá trị đều nhất quán giữa trên nhiều thiết bị. Vì được viết bằng Kotlin nên bạn có thể dễ dàng tìm kiếm và theo dõi IDE."
Compose giúp nhóm Monzo dễ dàng kiểm thử ứng dụng và đảm bảo ứng dụng của họ có thể truy cập được: “Nhờ đó, chúng tôi có thể viết các bài kiểm thử ít dễ hỏng hơn, chạy ổn định hơn và giúp chúng tôi rất tự tin rằng ứng dụng của chúng tôi thực sự hoạt động hiệu quả khi người dùng sử dụng. Việc kiểm thử thông qua hệ thống ngữ nghĩa cũng đảm bảo rằng các màn hình của chúng tôi ít nhất là có thể truy cập một cách hợp lý theo mặc định."
Bắt đầu
Tìm hiểu thêm về Compose.