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库来提升工程生产力和开发者满意度,这让他们受益良多。
他们做了什么
Google Home团队决定将Kotlin整合到代码库中,以提升编程效率,并使用现代语言功能(如var/val、智能投射、协程等)。截至2020年6月,30%左右的代码库是使用Kotlin编写的,我们建议使用Kotlin来开发所有新功能。
该团队还采用Jetpack库来提高开发者的速度、降低对样板代码维护的需求并减少必要的代码量。Jetpack库还有助于提高代码的可测试性,因为有更清晰的功能边界和API。
结果
“Kotlin可助您提高工作效率,让您编写更少的代码来实现更多的功能,这就是您可实现的‘速度’提升。”Jared Burrows,Google Home的软件工程师
与等效的现有Java代码相比,改用Kotlin可以减少所需的代码量。例如,使用数据类和Parcelize插件:一个在使用Java时需要手动编写126行代码的类,现在使用Kotlin只需编写23行,代码量减少了80%。此外,还可以自动生成并及时更新均衡和解析方法。使用Kotlin中提供的实用方法,还可以简化许多嵌套循环和过滤检查。
由于Kotlin可以将是否可为null作为语言的一部分,因此可以避免棘手的情况,例如在Java中不一致地使用是否可为null注释可能会导致遗漏错误。实现Kotlin后,Google Home应用团队遇到的NullPointerExceptions减少了33%。这是Google Play管理中心中最常见的崩溃类型,因此减少此类崩溃可以显著提升用户体验。
对于Google Home之类的大型成熟应用(代码超过数百万行),能够逐步添加Jetpack库会很有帮助。纳入这些库后,该团队可以整合并替换量身定制的解决方案,有时甚至只需要一个库。Jetpack库可帮助工程师遵循最佳做法,并且编写更简洁的代码(例如,使用Room或ConstraintLayout),因此可读性也有所提高。该团队将许多新的Jetpack库视为“必备库”,包括ViewModel和LiveData,它们在Google Home代码库中得到广泛使用。
Google Home应用团队发现将Jetpack KTX与Kotlin协程集成特别有用。该团队现在可以将协程与生命周期感知型组件(如ViewModel)结合使用,从而避免复杂的异步编程错误。
开始使用
详细了解使用Kotlin开发Android应用以及Android Jetpack库使用入门。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部