Zillow 使用 Android 架構(gòu)組件構(gòu)建清晰的新代碼Zillow 使用 Android 架構(gòu)組件構(gòu)建清晰的新代碼Zillow是一個(gè)頂級(jí)在線房地產(chǎn)交易平臺(tái),為消費(fèi)者提供購(gòu)買、出租或出售房屋時(shí)所需的房源信息、數(shù)據(jù)和計(jì)算器。此外,該網(wǎng)站還將用戶與本地代理人、抵押貸款提供機(jī)構(gòu)和家居設(shè)計(jì)師聯(lián)系起來。Zillow成立于20......
Zillow是一個(gè)頂級(jí)在線房地產(chǎn)交易平臺(tái),為消費(fèi)者提供購(gòu)買、出租或出售房屋時(shí)所需的房源信息、數(shù)據(jù)和計(jì)算器。此外,該網(wǎng)站還將用戶與本地代理人、抵押貸款提供機(jī)構(gòu)和家居設(shè)計(jì)師聯(lián)系起來。
Zillow成立于2006年,總部位于西雅圖,他們維護(hù)著覆蓋逾1.1億美國(guó)家庭的數(shù)據(jù)庫(kù)。此外,他們還運(yùn)營(yíng)著一套(二十多個(gè))熱門的移動(dòng)房地產(chǎn)應(yīng)用。他們從2017年7月開始對(duì)Android移動(dòng)應(yīng)用中的代碼進(jìn)行重大改造,當(dāng)時(shí)Zillow希望使代碼更易于閱讀且更容易讓新團(tuán)隊(duì)成員理解,以簡(jiǎn)化開發(fā)者的工作。
策略
Zillow使用Android架構(gòu)組件改進(jìn)了他們的代碼。“我們正在研究使用不同類型的架構(gòu)。”Zillow軟件工程師Aayush Raj說道。“架構(gòu)組件還具有生命周期感知功能,從而使代碼更易于管理。”
ViewModel允許數(shù)據(jù)在屏幕旋轉(zhuǎn)等配置發(fā)生更改后繼續(xù)存在,而LiveData是一種可觀察的數(shù)據(jù)容器類。Zillow同時(shí)使用這兩個(gè)類來提供功能強(qiáng)大的模板,以實(shí)現(xiàn)ModelViewViewModel(MVVM)。“這樣可以使我們的代碼更易于測(cè)試。”Raj說。利用Room持久性庫(kù),開發(fā)者還可以輕松構(gòu)建本地緩存層,因此應(yīng)用不必經(jīng)常從網(wǎng)絡(luò)中提取數(shù)據(jù),從而“改進(jìn)性能和用戶體驗(yàn)”。
結(jié)果
Raj還講道,將大量數(shù)據(jù)更新代碼從Activity遷移到ViewModels“絕對(duì)有助于”讓整個(gè)代碼庫(kù)更易于閱讀。他們還沒有將整個(gè)應(yīng)用轉(zhuǎn)換為使用ViewModel,但使用ViewModel的組件未出現(xiàn)任何與生命周期相關(guān)的錯(cuò)誤。向Activity和片段傳遞數(shù)據(jù)更新的工作流也運(yùn)行良好。
Zillow高級(jí)軟件開發(fā)工程師Sumiran Pradhan說:“通過使用Android架構(gòu)組件,開發(fā)者的工作效率確實(shí)得到了提高”。架構(gòu)組件不僅可以在開發(fā)者從零開始開發(fā)應(yīng)用時(shí)為他們提供指導(dǎo),也可以在現(xiàn)有代碼庫(kù)中加以使用。“一旦新的開發(fā)者了解ViewModel中的邏輯所在,就會(huì)喜歡上它”Pradhan補(bǔ)充道。
使用入門
作為Android Jetpack的一部分,Android架構(gòu)組件面向所有開發(fā)者開放。了解Android架構(gòu)組件使用入門。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部