## **使用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。
- 开发
- Kotlin和Android
- 开始使用Kotlin
- Kotlin在Android中FAQ
- 学习Kotlin的资源
- 参考
- 综述
- Kotlin适合于Android
- 基本介绍
- 基本语法
- Idioms
- 基础
- 基本类型
- 包
- 控制流
- 返回和跳转
- 类和对象
- 类和继承
- 属性和字段
- 接口
- 可见性修饰符
- 扩展
- 数据类
- 密封类
- 泛型
- Nested Classes
- 枚举类
- Objects
- Delegation
- Delegated Properties
- 函数和Lambda
- 函数
- Lambda
- 内联函数
- Coroutines
- 其它
- 解构声明
- 集合
- 范围
- 类型检查和转换
- This表达式
- 相等
- 操作符重载
- 空安全
- 异常
- 注解
- 反射
- 类型安全构建器
- 类型别名
- 核心库
- 标准库
- Java互操作
- 在Kotlin中调用Java
- 在Java中调用Kotlin
- 工具
- Documenting Kotlin Code
- Using Kapt
- Using Gradle
- Compiler plugins
- 学习指南
- Getting started
- Getting Started With IDEA
- Working with the Command Line Compiler
- Konas
- Android
- Getting Started With Android Development
- Kotlin Android Extensions
- Android Frameworks
- 书籍
- 更多资源