本篇文章主要来看一下Kotlin语言的使用场景之一:Kotlin用在Android
使用Kotlin开发Android
Kotlin非常适合开发Android应用程序,因为它在没有引入任何新的约束的情况下,将现代语言语言的所有优点带到Android平台上:
- 兼容性:Kotlin完全兼容JDK 6,可以顺利地确保Kotlin应用可以运行在更老的设备上。Kotlin工具在Android Studio中完全支持,且与Android构建系统兼容。
- 性能:由于两者非常相近得字节码结构,Kotlin应用程序可以运行得和Java一样快。随着Kotlin对内联函数的支持,相同的代码逻辑使用Lambads表达式比使用java的运行的更快。
- 互用性:Kotlin 100%可以和java互操作,这就允许Kotlin应用可以使用现有的Android库。同时它还引入了注解处理,这样数据绑定和Dagger也可以使用啦。
- 内存消耗:Kotlin有一个非常简洁的运行库,它会进一步地减少ProGuard的使用。在 实际项目中,Kotlin程序的运行只不过是添加了数百个方法和少于100k的apk文件的大小。
- 编译时间:Kotlin支持高效的增量编译(incremental compilation),因此在清理构建方面还需要额外的开销,增量版本通常与Java一样快或更快
- 学习曲线:对于Java开发者而言,上手Kotlin非常容易。内置的Kotlin插件可以自动地完成从Java到Kotlin的转换工作。另外,. Kotlin Koans 用一系列的可交互的练习,为我们掌握Kotlin语言的关键特征提供了指导。
Kotlin的Android学习情况
Kotlin已经被一些大型公司所接受,在这里分享一些他们的经验:
- Pinterest 公司已经成功地将Kotlin引入到他们的应用中,它们的应用每月有150M用户使用;
- Basecamp's的应用是完全由Kotlin编写,它们声称这是在编程乐趣和改善工作质量及效率方面的巨大差异。
- Keepsafe的应用的应用锁也完全转化为Kotlin,这直接导致了资源方面直线下降了30%,以及在方法数量方面减少了10%。
Android开发的工具
Kotlin工作组为Android开发提供了一套超出标准语言特征的工具:
- Kotlin Android Extensions是一个能让我们在代码中摆脱调用findViewById() 且将它们替换为合成编译器生成的属性的编译器拓展。
- Anko 是一个为我们提供了包装为对Kotlin友好的Android APIs,就像一个可以让我们使用Kotlin来替代我们的XML文件布局的领域特定语言(DSL)
接下来的步骤
- 下载并安装 Android Studio 3.0 Preview,它直接支持Kotlin。
- 跟着 Getting Started with Android and Kotlin的教程去创建第一个Kotlin应用程序。
- 为了更加深入地了解Kotlin语言,请查看本网站的参考文档 和 Kotlin Koans。
- 另一个比较好的资源是Kotlin for Android Developers,这本书逐步地指导我们利用Kotlin创建真实的Android应用。
- 查看Google的Kotlin项目例子