SmartNews 通过分享来自各种新闻来源的及时新闻,帮助数百万人每天探索他们的世界。该公司成立于 2012 年,总部位于日本,目前在全球拥有超过 5000 万次下载量。
2019 年 6 月,团队看到 Android 开发正朝着 Kotlin 优先的方向发展,并决定开始自行测试 Kotlin。他们希望利用 Kotlin 优先的 Jetpack 库,减少需要维护的代码量,并从 Kotlin 表达性和易于理解的语法中受益。
他们做了什么
SmartNews 团队精通 Java,因此他们很容易开始使用 Kotlin 编写代码。由于 Kotlin 与 Java 完全互操作,他们可以轻松地开始使用 Kotlin 编写新功能,例如 天气雷达和来自各方的新闻,同时使用现有的代码库。他们在获得专利的 Weather Radar 功能中使用协程来管理图像下载和缓存。协程调度器为管理任务提供了一个有用的抽象,这帮助 SmartNews 工程师避免了管理原始线程带来的陷阱。
团队还重构了一些 Java 代码,并对 Kotlin 的空安全功能印象深刻。Kotlin 用于识别可变性、可空性和初始化的语法帮助团队尽早发现错误,并将代码更改审查时间缩短了 10%。通过使用 Kotlin 简洁高效的语法,他们还能够提高代码库的可读性,这使得他们的代码在公司持续发展过程中更容易维护。
结果
使用 Kotlin 编写代码提高了从实现到发布的整体生产力。他们看到的最大改进是,使用 Kotlin 编写代码减少了转换后的代码行数 20%。目前,SmartNews 应用大约有一半是用 Kotlin 编写的,开发团队计划使用 Kotlin 编写所有新功能,并重构一些现有代码,以继续提高代码的可维护性。
在开发团队实施 Kotlin 并减少样板代码时,他们注意到团队士气有所提高。团队很高兴能够以更有效的方式表达他们的想法,并使他们的代码对未来更具可读性。SmartNews 工程经理 Hideo Ohashi 注意到Kotlin 有助于他们的工程招聘工作。“候选人最常问的问题是‘你们是否使用 Kotlin?你们多久使用一次?’ 似乎现在很多工程师都对迁移到 Kotlin 并支持它感兴趣。” 虽然团队士气和招聘方面的这些改进并不是团队采用 Kotlin 的主要原因,但这些积极的变化将帮助公司在竞争激烈的行业中继续发展。
开始使用
了解更多关于 使用 Kotlin 开发 Android 应用 的信息。