Google Home 應(yīng)用團(tuán)隊(duì)將因首要原因?qū)е碌谋罎⒋螖?shù)減少了 33%,googlehomeapp如何控制智能產(chǎn)品Google Home 應(yīng)用團(tuán)隊(duì)將因首要原因?qū)е碌谋罎⒋螖?shù)減少了 33%Google Home應(yīng)用可幫助您設(shè)置、管理和控制您的Google Home、Google Nest和Chromecast設(shè)備以及數(shù)......
Google Home應(yīng)用可幫助您設(shè)置、管理和控制您的Google Home、Google Nest和Chromecast設(shè)備以及數(shù)千種智能互聯(lián)家居產(chǎn)品(如燈具、攝像頭、恒溫器等等)。
Google Home應(yīng)用背后的工程團(tuán)隊(duì)使用Kotlin和Android Jetpack庫(kù)來(lái)提升工程生產(chǎn)力和開(kāi)發(fā)者滿意度,這讓他們受益良多。
他們做了什么
Google Home團(tuán)隊(duì)決定將Kotlin整合到代碼庫(kù)中,以提升編程效率,并使用現(xiàn)代語(yǔ)言功能(如var/val、智能投射、協(xié)程等)。截至2020年6月,30%左右的代碼庫(kù)是使用Kotlin編寫(xiě)的,我們建議使用Kotlin來(lái)開(kāi)發(fā)所有新功能。
該團(tuán)隊(duì)還采用Jetpack庫(kù)來(lái)提高開(kāi)發(fā)者的速度、降低對(duì)樣板代碼維護(hù)的需求并減少必要的代碼量。Jetpack庫(kù)還有助于提高代碼的可測(cè)試性,因?yàn)橛懈逦墓δ苓吔绾虯PI。
結(jié)果
“Kotlin可助您提高工作效率,讓您編寫(xiě)更少的代碼來(lái)實(shí)現(xiàn)更多的功能,這就是您可實(shí)現(xiàn)的‘速度’提升?!盝ared Burrows,Google Home的軟件工程師
與等效的現(xiàn)有Java代碼相比,改用Kotlin可以減少所需的代碼量。例如,使用數(shù)據(jù)類(lèi)和Parcelize插件:一個(gè)在使用Java時(shí)需要手動(dòng)編寫(xiě)126行代碼的類(lèi),現(xiàn)在使用Kotlin只需編寫(xiě)23行,代碼量減少了80%。此外,還可以自動(dòng)生成并及時(shí)更新均衡和解析方法。使用Kotlin中提供的實(shí)用方法,還可以簡(jiǎn)化許多嵌套循環(huán)和過(guò)濾檢查。
由于Kotlin可以將是否可為null作為語(yǔ)言的一部分,因此可以避免棘手的情況,例如在Java中不一致地使用是否可為null注釋可能會(huì)導(dǎo)致遺漏錯(cuò)誤。實(shí)現(xiàn)Kotlin后,Google Home應(yīng)用團(tuán)隊(duì)遇到的NullPointerExceptions減少了33%。這是Google Play管理中心中最常見(jiàn)的崩潰類(lèi)型,因此減少此類(lèi)崩潰可以顯著提升用戶體驗(yàn)。
對(duì)于Google Home之類(lèi)的大型成熟應(yīng)用(代碼超過(guò)數(shù)百萬(wàn)行),能夠逐步添加Jetpack庫(kù)會(huì)很有幫助。納入這些庫(kù)后,該團(tuán)隊(duì)可以整合并替換量身定制的解決方案,有時(shí)甚至只需要一個(gè)庫(kù)。Jetpack庫(kù)可幫助工程師遵循最佳做法,并且編寫(xiě)更簡(jiǎn)潔的代碼(例如,使用Room或ConstraintLayout),因此可讀性也有所提高。該團(tuán)隊(duì)將許多新的Jetpack庫(kù)視為“必備庫(kù)”,包括ViewModel和LiveData,它們?cè)贕oogle Home代碼庫(kù)中得到廣泛使用。
Google Home應(yīng)用團(tuán)隊(duì)發(fā)現(xiàn)將Jetpack KTX與Kotlin協(xié)程集成特別有用。該團(tuán)隊(duì)現(xiàn)在可以將協(xié)程與生命周期感知型組件(如ViewModel)結(jié)合使用,從而避免復(fù)雜的異步編程錯(cuò)誤。
開(kāi)始使用
詳細(xì)了解使用Kotlin開(kāi)發(fā)Android應(yīng)用以及Android Jetpack庫(kù)使用入門(mén)。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部