大众点评用 Kotlin 打造灵活稳定兼备的应用 | Android 开发者故事
腾讯视频链接
https://v.qq.com/x/page/h3208yatjlf.html
Bilibili 视频链接
https://www.bilibili.com/video/BV1Tz4y1k7Lv/
大众点评是全球最早的消费点评网站之一,成立于 2003 年。进入移动互联网时代后,用户可以在手机上使用大众点评 APP 方便地查询任何一个城市里的餐厅、影院、商场、景点和酒店等信息,并且了解其他用户写下的评价。应用也会依据用户评价数据和专家评价来推出各种榜单,比如 "必系列" 榜单和 "黑珍珠" 系列餐厅评价体系,还能根据用户的喜好为其在信息流中推荐可能感兴趣的餐厅和景点等信息。
"点评 Android 应用的开发协作模式是壳工程依赖于一系列基础和业务组件,应用到 Kotlin 的部分分散在十余支业务团队,近四十个业务仓库中,涵盖了首页、商户页、直播、榜单等核心业务。"
—— 程康阳,Android 开发工程师
Kotlin 现代化的语言特性,比如扩展函数和 lambda 表达式,帮助团队减少了近 30% 的代码量,提升了近 20% 的需求开发效率。也因此,目前点评团队已经有 15% 左右的依赖库在使用 Kotlin 进行开发和维护。
Kotlin 另一个让开发团队赞不绝口的功能是空安全性,这和 Kotlin 与 Java 良好的互操作性也有关系——只需要在 Java 代码中写好 @Nullable 和 @NonNull 等注解,就能确保 Kotlin 代码获得正确的可空性推断。如此便捷强大的空安全特性也帮助团队将应用的 NPE 从日均 3 个降低至 0。
马双飞是团队里的 "代码洁癖者",如今基本上只要是他负责的模块,总是会尽可能地完全使用 Kotlin 进行编写和维护。而想要如此激进地使用 Kotlin,只有一个人精通这门语言是不行的。幸运的是,在团队里推广 Kotlin 的成本不算高。
"Kotlin 的语法是很直观和现代化的,学习一到两天基础知识就能上手用 Kotlin 进行开发了。所以在招聘新人的时候,就算没有 Kotlin 开发经验问题也不大,毕竟学习成本不算高。当然有 Kotlin 经验的更好!" —— 马双飞,Android 开发工程师
能让团队放手推广 Kotlin 的另一个原因,是强大的工具支持。当需求开发涉及到大规模修改旧的 Java 代码时,团队成员会使用 Android Studio 便捷的 Convert Java File 2 Kotlin File 功能将 Java 代码先转换成 Kotlin 代码,再继续使用 Kotlin 进行开发。
"用户体验是一个很宽泛的概念,我们的产品团队会努力用更好、更新的功能帮助用户们吃的更好、生活更好。同时,我们也在努力用新的技术提升自己开发产品时的体验。"
—— 张晓宇,团队技术主管
推荐阅读