Google的Android团队宣布Kotlin成为除了Java、C++的第三个Android的官方编程语言。个人觉得Kotlin替代Java成为Android开发的主流语言只是时间问题。所以最近抽时间学习一下,顺便记录下学习历程。
根据Kotlin的官方文档,Kotlin主要有如下几个优势:
1.适用性(兼容性):Kotlin跟jdk6完全兼容,这保证了用Kotlin开发的应用可以在老版本的Android设备上正常运行。Kotlin开发工具被Android Studio完全支持,并且跟Android的build system兼容。
2.性能:Kotlin开发的应用运行起来和java开发的一样快,由于他们非常相近的字节码结构。在Kotlin支持下的内联函数,代码中使用lambda经常跑的比相同代码用java写的更快。
3.互用性:Kotlin和java可以实现100%的互用,在Kotlin应用中可以使用现有所有的安卓libraries。其中包括了注解处理,数据绑定和Dagger函数库。
4.足迹:Kotlin有一个非常简洁的运行函数库,并且可以通过混淆进一步缩减。在真实的应用当中,Kotlin运行函数库只增加几百个方法并且打包成apk的时候所占空间不超过100k。
5.编译时间:Kotlin支持高效的增量编译,因此在清理构建时,增加了一些额外的开销。相较于使用java,增量构建更快。下面的文章通过实际编译对Kotlin和Java进行了比对,想深入了解的朋友可以仔细看下。
https://medium.com/keepsafe-engineering/kotlin-vs-java-compilation-speed-e6c174b39b5d
6.学习曲线:对于一名java开发者,学习Kotlin是非常简单的。在Kotlin插件中可以将java自动转换成Kotlin帮助初学者完成第一步。Kotlin Koans提供了一系列互动练习来指导开发者学习Kotlin的主要语言特征。
以上内容主要来自Kotlin的官网,我对其进行了总结与翻译。官网还介绍了一些Kotlin在Android上应用的案例,反正就是通过使用Kotlin开发应用,使得开发者工作效率提升,并且工程中使用的方法总数减少了很多。
参考内容:
Kotlin官方文档https://kotlinlang.org/docs/reference/android-overview.html