去年 5 月份的 Google I/O 上,谷歌宣布 Kotlin-first,Kotlin 开始成为 Android 开发者的首选语言,接着谷歌针对 Kotlin 的相关建设不断。
本文简介 Java 迁移到 Kotlin 指南相关
就在今年,上周,谷歌刚刚推出免费的 Kotlin 和 Android 在线课程,教开发者使用 Kotlin 构建 Android 应用。很快,Google Home 团队也现身说法,通过自身经历,展示了 Kotlin 开发的好处。
开始从 Java 迁移到 Kotlin
谷歌建议“由点及面”进行迁移,包括人与代码两个层面:
人的层面,团队内部推举出一位 Kotlin “推广大使”,他需要做到:
- 了解 Kotlin 并成为专家
- 制定 Kotlin 开发流程
- 参与代码审核,确保 Kotlin 开发流程得到顺利贯彻
- 组建公司/团队内部的学习小组
- 主动收集内部的问题并与开发者社区反馈探讨
而代码层面,需要做到:
- 先使用 Kotlin 编写测试(此时项目依然在使用 Java)
- 使用 Kotlin 编写新代码
- 将现有代码更新为 Kotlin 代码
在将现有代码更新为 Kotlin 代码时,可以直接使用 Android Studio 提供的 Java 转 Kotlin 工具,只需要在菜单中选择 “Code → Convert Java File to Kotlin File” 即可:
Java 转 Kotlin 工具
另外,Kotlin 的迁移工作没必要一蹴而就,开发者可以按照自己的进度来逐步进行迁移。一个项目中可以同时包含 .java 和 .kt 文件,但同一个文件中不可以既有 Java 也有 Kotlin,开发者也可以在 Kotlin 代码中使用任何 Java 库。
△ Android Studio 的 Lint 检查中也可以打开 Kotlin 互操作检查
在 Kotlin 中调用 Java 时,有几点需要注意
1、将代码标记为 @Nullable 和 @NotNull
2、使用属性前缀(getName(), setName(), isActive())
3、避免使用 Kotlin 中的保留关键字(when、is 等)
最后,谷歌工程师怎么看
作为一门 JVM 语言,一门兼容甚至被认为要取代 Java 的语言,Kotlin 的出场也往往伴随着与 Java 的比较。谷歌甚至推出了从 Java 迁移到 Kotlin 的官方指南。部分 Android 开发者仍在犹豫是否要转到 Kotlin,有一些人已经从 Java 迁移到 Kotlin 又迁回了 Java。在一年前 Dice 网站发布的调查中,85% 的受访者几乎一边倒地选择仍旧使用 Java 来构建 Android 应用程序。
但其实在谷歌工程师看来,并没有必要将二者完全划清界限。Android Studio 技术负责人 Jeffrey van Gogh 就曾讲过,Java 与 Kotlin 具有极高的互操作性,所以两者完全可以共存于同一个项目中。目前如 Google Home 这样的谷歌自家应用,不少都采用这种融合式做法,Kotlin 更多地被用来编写新功能。
那么,再回到 “Kotlin 还是 Java” 这个也许已经令 Android 开发者感到厌烦的问题上,定论显然并不存在,关键是选择最适合的方式。
内容取材整编转自:OSCHINA 社区
oschina.net/news/111189/migrating-from-java-to-kotlin
oschina.net/news/117389/google-home-benefits-from-using-kotlin
欢迎关注我的微信公众号「码农突围」,分享Python、Java、大数据、机器学习、人工智能等技术,关注码农技术提升•职场突围•思维跃迁,20万+码农成长充电第一站,陪有梦想的你一起成长