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 tách biệt 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, 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 của riêng họ, dùng các thành phần Material làm tài liệu tham khảo. Ban đầu, mỗi lần chỉ di chuyển một màn hình, giờ là dùng Compose trong mọi 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 bất kỳ vấn đề lớn nào và vì vậy, chúng tôi cảm thấy đủ tự tin để bắt đầu sử dụng tính năng này cho một số tính năng chọn lọc mới, và cuối cùng là cho tất cả tính năng mới."

Kết quả

Đội ngũ Monzo đã tạo ra 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 mà chúng tôi cung cấp ngay từ đầu giúp việc xây dựng màn hình trong khi học Compose trở nên trải nghiệm mượt mà hơn rất 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ừ rất nhiều khối xây dựng nhỏ."

Nhờ Compose, đội ngũ Monzo đã có thể xây dựng một ứng dụng có chất lượng cao hơn, thêm vào các tính năng thú vị mà trước đây họ không thể dùng khi chạy nước rút: “Một ví dụ là ảnh động – chúng rất dễ thêm vào Compose đến mức rất ít lý do để không tạo ảnh động cho mọi thứ như các thay đổi về màu sắc/kích thước/độ nâng cao. Những ảnh động "rất tốt" 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 chúng hiện ngắn hơn và 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 một hệ phân cấp giao diện người dùng có thể thay đổi. Ngoài ra, việc theo dõi qua mã trở nên dễ dàng hơn nhiều 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. Tôi thậm chí còn không được bắt đầu về các chủ đề và kiểu XML! Giao diện dễ hiểu hơn rất 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ì có trong Kotlin, nên rất dễ tìm kiếm và theo dõi trong IDE.“

Compose giúp đội ngũ Monzo dễ dàng kiểm thử ứng dụng và đảm bảo khả năng tiếp cận của ứng dụng: "Công cụ này đã giúp chúng tôi viết các chương trình kiểm thử ít linh hoạt hơn, hoạt động ổn định và giúp chúng tôi yên tâm rằng ứng dụng của chúng tôi thực sự hoạt động được trong tay người dùng. Việc kiểm thử qua hệ thống ngữ nghĩa cũng đảm bảo rằng ít nhất, màn hình của chúng tôi có thể truy cập hợp lý theo mặc định.”

Bắt đầu

Tìm hiểu thêm về Compose.