天天看点

kotlin学习系列1 —— 认识kotlin

kotlin学习系列 —— 认识kotlin

kotlin可能也是google要统一编码界的一次尝试,我们从官网可以看到kotlin的一些支持情况,包含服务器端、Android、javaScript、Native,以及一些别的领域,野心足够大,我们也学的比较累

原文 : Using Kotlin for Android Development*

Kotlin 是非常适合用于开发Android应用的,它给Android平台带来了新语言的所有优点却不增加任何新的限制

  • 兼容性: Kotlin完全兼容JDK6,所以Kotlin可以在老旧的Android设备上运行不出问题。AndroidStudio完全支持Kotlin,编译系统也兼容Kotlin。
  • 性能: 因为非常相似的字节码结构,Kotlin应用运行速度和Java一样快。因为Kotlin支持内联函数,当使用lambdas时,通常比用Java代码运行更快。
  • 互通性: Kotlin能100%与Java相互协作,能使用所有的Android库,包括注解处理库,像databinding,dagger这些库都能使用。
  • 占用空间: Kotlin的运行时库非常简洁,当时用混淆的时候还会缩减到更小,只会增加几百个方法,只增加apk不到100k的体积。
  • 编译时间: Kotlin支持高效的增量编译,所以当项目已经编译过,再进行额外的编译时,这种增量编译可以像Java一样快,甚至更快。
  • 学习曲线: 对于Java开发者来说,使用Kotlin非常简单。Java代码自动化转换成Kotllin代码的Kotlin插件帮我们迈出了第一步。 Kotlin Koans通过一系列的包含Kotlin主要特点的交互性习题给我们提供了指南。

用Kotlin 做Android开发样例研究

Kotlin已经被一些大企业接受,其中部分企业分享了他们的经验:

  • Pinterest已经成功地在他们月用户量1.5亿的应用中引进了Kotlin。
  • Basecamp 的Android app 100%使用Kotlin代码,他们表示Kotlin给他们带来了编程的快乐,以及工作质量和效率的提升。
  • Keepsafe的app Lock app也已经转换成100%的Kotlin,这使得代码行数减少30%,方法数减少10%。

Android 开发工具

Kotlin团队一套工具用于开发,其中有超越了标准语言的特性:

  • Kotlin Android Extensions

    是编译器的拓展,它使你免去在代码中调用findViewById()方法,而是通过编译生成。

  • Anko是一个库,它提供了一组Android APIs和DSL的包装,让你用Kotlin代码替换.xml文件。