Monzo là một ngân hàng và dịch vụ cung cấp ứng dụng 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ụ thuộc vào thiết kế hệ thống. 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, Compose được tất cả các kỹ sư Android sử dụng trong phiên bản chính thức: “Chúng tôi không gặp phải vấn đề lớn nào, nên chúng tôi đủ tự tin để bắt đầu sử dụng nó 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: "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ỏ."
Nhờ Compose, đội ngũ Monzo có thể tạo ra một ứng dụng có chất lượng cao hơn, những tính năng thú vị mà trước đây họ không thể có trong sprints: "Một ví dụ là ảnh động. Ảnh động rất dễ thêm vào trong Compose, rất ít có lý do để không tạo ảnh động như màu sắc/kích thước/độ cao thay đổi. 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! Trong Compose, việc sắp xếp theo chủ đề sẽ dễ hiểu hơn rất nhiều. 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 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 có thể truy cập được: "Công cụ này đã giúp chúng tôi viết các thử nghiệm ít tốn kém hơn, chạy ổn định, và hoàn toàn tự tin rằng ứng dụng 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 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ề tính năng Compose.