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à giúp mọi người kiếm tiền. Hệ thống thiết kế của Monzo bắt đầu khác biệt với 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 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 để xây dựng thư viện thành phần của riêng họ, sử dụng các thành phần Material làm tài liệu tham khảo. Họ bắt đầu bằng cách di chuyển từng màn hình một, hiện đang sử dụng Compose trong tất 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 giúp họ dễ dàng tạo màn hình mới: “Các thành phần mà chúng tôi cung cấp sẵn giúp việc tạo màn hình trong khi tìm hiểu Compose trở thành một 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, 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 ảnh động "tốt nếu có" này thường quá khó để xứng đáng với nỗ lực và sự 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. Ngoài ra, bạn cũng dễ dàng theo dõi mã hơn khi tất cả mã đượ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 nói đến giao diện và kiểu XML! Việc tạo giao diện trở nên dễ hiểu hơn rất nhiều trong Compose. Giao diện của chúng ta chỉ bao gồm các thuộc tính mà chúng ta xác định, các giá trị nhất quán trên các thiết bị và vì giao diện này được viết bằng Kotlin nên rất dễ 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 màn hình của chúng tôi ít nhất là có thể truy cập được theo mặc định một cách hợp lý.”
Bắt đầu
Tìm hiểu thêm về Compose.