Monzo là một ngân hàng và ứng dụng cung cấp các 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 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 khe là một mẫu tuyệt vời giúp chúng ta dễ dàng tạo các thành phần lớn hơn từ nhiều khối xây dựng 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ễ hiểu hơn nhiều so với mã thao tác với 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 nhiều trong Compose. Giao diện của chúng tôi chỉ bao gồm các thuộc tính mà chúng tôi 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 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 mã kiểm thử ít dễ lỗi hơn, chạy ổn định hơn và có nhiều niềm tin hơn 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 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.