Monzo xây dựng ứng dụng mạnh mẽ và chất lượng cao hơn bằng Compose

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 chuyển hướng sang Material Design, vì vậy, 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 không ngừng phát triển, vì vậy, họ đã chọn Jetpack Compose.

Giải pháp

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ụ thuộc vào hệ thống thiết kế. Monzo đã sử dụng các API nền tảng để xây dựng thư viện thành phần riêng, trong đó có tham chiếu đến các thành phần Material. Họ 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ả các kỹ sư Android đều sử dụng Compose trong phiên bản chính thức: “Chúng tôi không gặp phải bất kỳ vấn đề lớn nào nên 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 chọn lọc và cuối cùng là cho tất cả cá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 mới: "Các thành phần chúng tôi cung cấp có sẵn giúp việc tạo màn hình trong khi học Compose mang lại trải nghiệm mượt mà hơn nhiều. API dựa trên ô trống là một mẫu tuyệt vời, giúp chúng tôi thực sự dễ dàng xây dựng các thành phần lớn hơn từ nhiều thành phần nhỏ."

Với Compose, đội ngũ Monzo có thể xây dựng một ứng dụng có chất lượng cao hơn, bổ sung thêm các tính năng thú vị mà trước đây họ không có được trong quá trình chạy nước rút: "Một ví dụ là ảnh động – rất dễ thêm vào Compose, đến mức hầu như không có lý do gì để không tạo ảnh động cho mọi thứ như các thay đổi về màu sắc/kích thước/độ cao. Những ảnh động "tốt đẹp" này thường quá khó để xứng đáng với 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, dễ đọc, dễ hiểu và dễ duy trì hơn: "Mã khai báo dễ giải thích hơn nhiều so với mã thao tác 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 qua lại giữa Kotlin và XML. Đừng hướng dẫn tôi về các kiểu và chủ đề XML! Trong Compose, việc sắp xếp theo chủ đề sẽ dễ hiểu hơn rất nhiều. Giao diện của chúng ta chỉ bao gồm các thuộc tính do chúng ta định nghĩa, các giá trị nhất quán trên các thiết bị. Vì được tạo bằng Kotlin nên bạn có thể dễ dàng tìm kiếm và theo dõi trong IDE."

Compose cho phép đội ngũ Monzo dễ dàng kiểm thử ứng dụng của họ và đảm bảo ứng dụng dễ tiếp cận: "Công cụ này đã giúp chúng tôi viết các bài kiểm thử ít hỏng hơn, chạy ổn định và tự tin hơn nhiều rằng ứng dụng thực sự hoạt động được trong tay người 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 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ề tính năng Compose.