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