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 sử dụng tiền hiệu quả. Hệ thống thiết kế của Monzo bắt đầu đi chệch khỏ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 không ngừng phát triển. Do đó, 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ụ thuộc vào 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 của riêng mình, 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ả các màn hình mới. Giờ đây, Compose được tất cả kỹ sư Android sử dụng trong quá trình sản xuất: "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 Compose cho một số tính năng mới được chọn 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 ra 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 ngay từ đầu giúp việc tạo màn hình trong khi tìm hiểu Compose trở thành 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 ta dễ dàng tạo 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ể tạo một ứng dụng chất lượng cao hơn, bổ sung các tính năng thú vị mà trước đây họ không thể thực hiện trong các đợt phát hành: "Một ví dụ là ảnh động. Rất dễ dàng thêm ảnh động trong Compose nên gần như không có lý do gì để không tạo ảnh động cho những thay đổi về màu sắc/kích thước/độ cao. Những ảnh động "nên có" 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ị."
Giờ đây, mã của họ 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 một 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 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 bắt đầu với các giao diện và kiểu XML! Dễ hiểu hơn nhiều khi sắp xếp theo chủ đề trong Compose. Giao diện của chúng tôi chỉ bao gồm những thuộc tính mà chúng tôi xác định, các giá trị nhất quán trên nhiều thiết bị và vì giao diện này ở 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: "Compose đã giúp chúng tôi viết các bài kiểm thử ít bị lỗi, chạy một cách đáng tin cậy và giúp chúng tôi tin tưởng rằng ứng dụng của mình thực sự hoạt động 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ũng có thể truy cập được một cách hợp lý theo mặc định".
Bắt đầu
Tìm hiểu thêm về Compose (Soạn).