译自《Using Kotlin for Android Development》
Kotlin非常适合开发Android应用程序,将现代语言的所有优势带入Android平台,无需引入任何新的限制:
- 兼容性 :Kotlin与JDK 6完全兼容,确保Kotlin应用程序可以在较旧的Android设备上运行,无任何问题。 Kotlin工具在Android Studio中完全支持,与Android构建系统兼容。
- 性能 :Kotlin应用程序运行速度与Java类似,非常类似的字节码结构。 随着Kotlin对内联函数的支持,使用lambda的代码通常比使用Java编写的代码运行得更快。
- 互操作性 :Kotlin可与Java进行100%互操作,允许在Kotlin应用程序中使用所有现有的Android库。 这包括注释处理(annotation processing),所以数据绑定(databinding)和匕首(Dagger)也一样可以工作。
- 代码尺寸 :Kotlin有一个非常紧凑的运行时库,可以通过使用ProGuard进一步减少。 在一个真实的应用程序(real application)中 ,Kotlin运行时只添加了几百个方法,并且只给.apk文件增加了小于等于100K的大小。
- 编译时间 :Kotlin支持高效的增量编译,因此,尽管对于干净构建(clean builds)来说,有一些增加的overhead,但增量构建通常与Java一样快或更快 (incremental builds are usually as fast or faster than with Java)。
- 学习曲线 :对于Java开发人员,Kotlin入门很容易。 包含在Kotlin插件中的自动化Java到Kotlin转换器有助于实现第一步。 Kotlin Koans通过一系列互动练习提供了语言的主要功能的指南。
Kotlin为Android案例研究
Kotlin已被大公司成功采用,其中一些公司分享了他们的经验:
- Pinterest已经成功地将Kotlin引入了他们的应用程序(introduced Kotlin into their application) ,每个月由150万人使用。
- Basecamp的Android应用程序是100%的Kotlin代码(100% Kotlin code) ,他们报告了程序员幸福感的巨大差异,以及工作质量和速度的巨大改进。
- Keepsafe的App Lock应用程序也被转换为100%的Kotlin(converted to 100% Kotlin) ,导致源码数量减少30%,方法计数减少10%。
Android开发工具
Kotlin团队为Android开发提供了一套超越标准语言功能的工具:
-
Kotlin Android Extensions是一个编译器扩展,可以让您摆脱代码中的
findViewById()
调用,并将其替换为合成编译器生成的属性(synthetic compiler-generated properties)。 - Anko提供围绕Android API的一组Kotlin友好的包装器代码库,以及一个DSL,可以用Kotlin代码替换您的布局.xml文件。
下一步
- 下载安装Android Studio 3.0 Preview,其中包括Kotlin支持,开箱即用。
- 按照Android和Kotlin入门教程(Getting Started with Android and Kotlin),创建您的第一个Kotlin应用程序。
- 要进行更深入的介绍,请查看本网站上的参考文档(reference documentation)和Kotlin Koans 。
- 另一个极好的资源是《Android开发人员Kotlin指南》(Kotlin for Android Developers) ,这本书将指导您逐步完成用Kotlin创建一个真正的Android应用程序的过程。
- 查看Google用Kotlin编写的示例项目(sample projects written in Kotlin) 。