## **使用Kotlin进行Android开发** Kotlin非常适合开发Android应用,给Android平台带来了现在语言的所有优势,而不引入任何新的限制: * **兼容性:** Kotlin完全兼容JDK6,以确保Kotlin应用在老的Android设备上运行没有问题。Kotlin工具已经在Android Studio中完全支持,并且和Android构建系统兼容。 * **性能:** 由于非常相似的字节码结构,Kotlin应用运行的速度和等效Java应用一样快。随着Kotlin对内联函数的支持,使用lambdas编写的代码通常比使用Java编写的相同代码运行的更快。 * **互用性:** Kotlin100%和Java互操作的,允许在Kotlin应用中使用所有已有的Android库。这包含注解处理,所以数据绑定和Dagger也可以工作。 * **占用大小:** Kotlin有一个非常紧凑的运行时库,它可以通过使用ProGuard进一步的减小。在真实应用中,Kotlin运行时仅仅使得.apk文件增加几百个方法和小于100K。 * **编译时间:** Kotlin支持高效的增量编译,因此对于clean构建会有一些额外的开销。 * **学习曲线:** 对于一个Java开发者,开始使用Kotlin是非常简单的。在Kotlin插件中包含了Java到Kotlin自动转换器可以帮助你迈出第一步。Kotlin Koans提供了一个包含语言关键功能的一系列互动练习指南。 >**补充:** 什么是增量编译? 普通编译器必须编译整个模块或者程序,但是增量编译器只需重新编译程序代码中更改的那部分代码,仅输出相对应的结果(通常该编译器的目标语言是字节码bytecode)。在有效利用先前编译结果的基础上,增量编译器避免了重复编译整个源文件(大多数代码都没有改变)。 ### **Kotlin用于Andorid案例研究** *** Kotlin已经成功的被大公司采用,他们中的一些人分享了他们的经验: 1. Pinterest已经成功的将Kotlin引入到他们每个月有1.5亿用户使用的应用中。 2. Basecamp的Android应用100%的使用Kotlin代码,并且他们发现序员幸福感有很大的不同,并且工作质量和速度方有很大的提升。 3. Keepsafe的应用Lock app也已经100%的迁移到Kotlin,使得源码行数减少了30%和方法数量减少10%。 ### **Android开发工具** *** Kotlin团队为Android开发提供了一套超越标准语言功能的工具: 1. Kotlin Android Extensions是一个编译器扩展,它允许你从你的代码中去除findViewById()调用,使用合成编译器生成的属性替代他们; 2. Anko是一个在Android API周围提供一组Kotlin友好的包装器的库,还有一种DSL让你使用Kotlin代码替换你布局.xml文件。 ### **下一步** *** 1. 下载安装Android Studio 3.0 Preview,其中包含了立即可用的Kotlin支持。 2. 跟着Getting Started with Android and Kotlin教程创建你的第一个Kotlin应用。 3. 为了更深入的介绍,查看这个网站的reference documentation和Kotlin Koans。 4. 其它很好的资源是Kotlin for Android Developers,一本引导你一步一步使用Kotlin完成创建一个真实的Andorid应用过程的书。 5. 看一看Goolge的sample projects written in Kotlin。