在 2017 Google I/O 大会的 Keynote 演讲中,我们了解到,Kotlin 编程语言将在 Android 上正式受到官方支持。消息一出,世界各地开发人员纷纷击掌欢呼——很多人认为 Java 即将会被取而代之(老实说,我依然是 Java 的爱好者)。
对 Kotlin 的炒作是否合情合理呢?其实这也相当于 Swift 语言的发展,令人兴奋的同时也有因这门语言并不成熟,所以很多开发者并没有使用它。
两年前我曾发誓倘若 Google 不支持它,我也不会开始认真学习 Kotlin。既然现在已经做了支持,那么我也有理由继续深入学习。
为了能快速学习这门新语言,我基于已有的开发技能并利用熟悉的语言(Java 和 Scala)来学习 Kotlin。
当阅读 Kotlin 文档时,我注意到的第一个地方是它能编译字节码、JavaScript、Native、而且它是由 Jetbrains 开发的。下面让我们一起来攻克这门语言吧。
如果 Kotlin 编译为字节码,则意味着它在运行时使用 JVM(Java虚拟机)将字节码编译为机器码。
那么 JavaScript 呢? 事实上,它使用目标 ECMAScript 5.1 将 Kotlin 代码转换为 JavaScript。 虽然我不是 JavaScript 专家,但是可以查看官方文档以获取更多详细信息。
Kotlin 的一个厉害的特性在于能够编译原生,并支持更多没有 JVM 的平台 - 现在,Kotlin Native 可以在 Mac OS、Linux、Raspberry Pi 和 iOS(通过在 Mac 上交叉编译)上使用 LLVM 生成可执行文件。 Windows 平台尚不支持,但他们正在开发中。
我梦想的场景是:用 Kotlin Native 开发 Android 和 iOS 应用程序的所有业务逻辑,然后用特定平台语言(Android = Java / Kotlin,iOS = Objective-C / Swift)开发 UI。 Kotlin Native 仍然未成熟,所以在它成熟之前我必须等。