Zillow tạo mã mới rõ ràng bằng Bộ thành phần kiến trúc Android

Zillow là một trang web bất động sản trực tuyến hàng đầu, cung cấp cho người tiêu dùng các trang thông tin, dữ liệu và máy tính cần thiết để giúp họ mua, thuê hoặc bán nhà. Trang web này cũng kết nối người dùng với các đại lý địa phương, nhà cung cấp thế chấp và nhà thiết kế nhà.

Được ra mắt vào năm 2006 và có trụ sở tại Seattle, Zillow duy trì một cơ sở dữ liệu gồm hơn 110 triệu ngôi nhà ở Hoa Kỳ. Họ cũng vận hành một bộ ứng dụng bất động sản di động phổ biến gồm hơn 24 ứng dụng. Khi bắt đầu đại tu mã trong ứng dụng di động Android vào tháng 7 năm 2017, Zillow muốn đơn giản hoá cuộc sống của các nhà phát triển bằng cách giúp mã dễ đọc hơn và dễ hiểu hơn cho các thành viên mới trong nhóm.

Những việc họ đã làm

Zillow đã cải tiến mã của họ bằng cách sử dụng Bộ thành phần cấu trúc Android. Aayush Raj, kỹ sư phần mềm tại Zillow cho biết: "Chúng tôi đã tìm hiểu nhiều loại cấu trúc". "Các thành phần kiến trúc có thêm lợi thế là nhận biết được vòng đời, giúp quản lý mã dễ dàng hơn nhiều".

ViewModel cho phép dữ liệu tiếp tục có tác dụng khi có thay đổi về cấu hình (chẳng hạn như xoay màn hình), trong khi LiveData là một lớp trình giữ dữ liệu có thể quan sát. Cả hai đều được Zillow sử dụng và cùng nhau cung cấp một mẫu mạnh mẽ để triển khai Model-View-ViewModel (MVVM). Raj cho biết: "Việc này giúp mã của chúng tôi dễ kiểm thử hơn". Thư viện tính liên tục Room cũng giúp bạn dễ dàng tạo một lớp lưu trữ cục bộ, nhờ đó ứng dụng không phải thường xuyên kéo dữ liệu từ mạng, "cải thiện hiệu suất và trải nghiệm người dùng".

Kết quả

Raj cho biết việc di chuyển nhiều mã để cập nhật dữ liệu từ các hoạt động sang ViewModel "chắc chắn đã giúp" toàn bộ cơ sở mã dễ đọc hơn. Họ chưa chuyển đổi toàn bộ ứng dụng sang ViewModel, nhưng các thành phần đang sử dụng ViewModel không gặp phải bất kỳ lỗi nào liên quan đến vòng đời. Việc truyền đạt nội dung cập nhật dữ liệu cho các hoạt động và mảnh cũng hoạt động rất hiệu quả.

Sumiran Pradhan, kỹ sư phát triển phần mềm cấp cao tại Zillow cho biết: "Các nhà phát triển làm việc thực sự năng suất hơn nhờ sử dụng Bộ thành phần cấu trúc Android". Thành phần cấu trúc cung cấp cho họ hướng dẫn khi bắt đầu từ đầu, nhưng cũng hữu ích trong cơ sở mã hiện có. Pradhan cho biết: "Khi các nhà phát triển mới hiểu được vị trí của logic trong ViewModel, họ yêu thích API này".

Bắt đầu

Bộ thành phần cấu trúc Android dành cho tất cả nhà phát triển trong Android Jetpack. Bắt đầu với Bộ thành phần cấu trúc Android.