Google Play:Zillow 使用 Android 架構(gòu)組件構(gòu)建清晰的新代碼

來源: Google Developers
作者:Google Developers
時間:2021-01-21
17300
Zillow是一個頂級在線房地產(chǎn)交易平臺,為消費者提供購買、出租或出售房屋時所需的房源信息、數(shù)據(jù)和計算器。此外,該網(wǎng)站還將用戶與本地代理人、抵押貸款提供機構(gòu)和家居設(shè)計師聯(lián)系起來。

Zillow是一個頂級在線房地產(chǎn)交易平臺,為消費者提供購買、出租或出售房屋時所需的房源信息、數(shù)據(jù)和計算器。此外,該網(wǎng)站還將用戶與本地代理人、抵押貸款提供機構(gòu)和家居設(shè)計師聯(lián)系起來。

3.jpg

Zillow成立于2006年,總部位于西雅圖,他們維護著覆蓋逾1.1億美國家庭的數(shù)據(jù)庫。此外,他們還運營著一套(二十多個)熱門的移動房地產(chǎn)應(yīng)用。他們從2017年7月開始對Android移動應(yīng)用中的代碼進行重大改造,當(dāng)時Zillow希望使代碼更易于閱讀且更容易讓新團隊成員理解,以簡化開發(fā)者的工作。

策略

Zillow使用Android架構(gòu)組件改進了他們的代碼?!拔覀冋谘芯渴褂貌煌愋偷募軜?gòu)。”Zillow軟件工程師Aayush Raj說道。“架構(gòu)組件還具有生命周期感知功能,從而使代碼更易于管理?!?/span>

ViewModel允許數(shù)據(jù)在屏幕旋轉(zhuǎn)等配置發(fā)生更改后繼續(xù)存在,而LiveData是一種可觀察的數(shù)據(jù)容器類。Zillow同時使用這兩個類來提供功能強大的模板,以實現(xiàn)Model-View-ViewModel(MVVM)。“這樣可以使我們的代碼更易于測試?!盧aj說。利用Room持久性庫,開發(fā)者還可以輕松構(gòu)建本地緩存層,因此應(yīng)用不必經(jīng)常從網(wǎng)絡(luò)中提取數(shù)據(jù),從而“改進性能和用戶體驗”。

結(jié)果

Raj還講道,將大量數(shù)據(jù)更新代碼從Activity遷移到ViewModels“絕對有助于”讓整個代碼庫更易于閱讀。他們還沒有將整個應(yīng)用轉(zhuǎn)換為使用ViewModel,但使用ViewModel的組件未出現(xiàn)任何與生命周期相關(guān)的錯誤。向Activity和片段傳遞數(shù)據(jù)更新的工作流也運行良好。

Zillow高級軟件開發(fā)工程師Sumiran Pradhan說:“通過使用Android架構(gòu)組件,開發(fā)者的工作效率確實得到了提高”。架構(gòu)組件不僅可以在開發(fā)者從零開始開發(fā)應(yīng)用時為他們提供指導(dǎo),也可以在現(xiàn)有代碼庫中加以使用。“一旦新的開發(fā)者了解ViewModel中的邏輯所在,就會喜歡上它!”Pradhan補充道。

使用入門

作為Android Jetpack的一部分,Android架構(gòu)組件面向所有開發(fā)者開放。了解Android架構(gòu)組件使用入門。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Google Developers,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多