Zillow 使用 Android Architecture Components 构建清晰的新代码

Zillow 是一个顶级的在线房地产市场,为消费者提供他们购买、租赁或出售房屋所需的房源、数据和计算器。该网站还将用户与当地代理商、抵押贷款提供商和家居设计师连接起来。

Zillow 于 2006 年推出,总部位于西雅图,维护着超过 1.1 亿美国房屋的数据库。他们还运营着一个包含二十多个热门移动房地产应用的套件。当他们在 2017 年 7 月开始对其 Android 移动应用中的代码进行重大改革时,Zillow 希望通过使代码更具可读性并让新团队成员更容易理解来简化开发人员的工作。

他们做了什么

Zillow 使用 Android Architecture Components 改造了他们的代码。Zillow 软件工程师 Aayush Raj 说:“我们正在研究不同类型的架构。Architecture Components 具有生命周期感知功能,这使得代码更容易管理。”

ViewModel 允许数据在配置更改(例如屏幕旋转)时存活,而 LiveData 是一个可观察的数据持有类。Zillow 同时使用了它们,它们共同提供了一个强大的模板,用于实现 Model-View-ViewModel (MVVM)。Raj 说:“它帮助我们的代码更易于测试。” Room 持久性库也使其易于构建本地缓存层,因此应用不必频繁地从网络中拉取数据,“从而提高了性能和用户体验。”

结果

Raj 补充说,将大量用于数据更新的代码从 Activity 迁移到 ViewModel “无疑有助于”提高整个代码库的可读性。他们尚未将整个应用转换为 ViewModel,但使用 ViewModel 的组件没有出现任何与生命周期相关的错误。向 Activity 和 Fragment 传达数据更新也运行得非常好。

Zillow 高级软件开发工程师 Sumiran Pradhan 表示:“开发人员使用 Android Architecture Components 绝对能提高生产力。” Architecture Components 在从零开始时为他们提供了指导,但在现有代码库中也很有用。Pradhan 补充说:“一旦新开发人员了解逻辑在 ViewModel 中的位置,他们就会喜欢它。”

开始

Android Architecture Components 作为 Android Jetpack 的一部分向所有开发者开放。立即开始使用 Android Architecture Components