Kotlin是什么?
Kotlin是JetBrains在2011年推出的一门全新的编程语言,这门语言最早被设计成运行在JVM上——Kotlin编写的程序会被编译成字节码文件,该字节码文件可直接在JVM上运行(用java,命令运行),Kotlin可以与现有的Java语言包保持100%的兼容性,而且Kotlin代码比Java
代码更简洁、更富有表现力。简单来说一句话:Kotlin既可利用Java的优势,又比Java更简洁。
Kotlin是JetBrains在2011年推出的一门全新的编程语言,这门语言最早被设计成运行在JVM上——Kotlin编写的程序会被编译成字节码文件,该字节码文件可直接在JVM上运行(用java,命令运行),Kotlin可以与现有的Java语言包保持100%的兼容性,而且Kotlin代码比Java
代码更简洁、更富有表现力。简单来说一句话:Kotlin既可利用Java的优势,又比Java更简洁。
此外,Kotlin程序还可直接编译生成JavaScript代码,Kotlin程序既可编译成前端JavaScript代码,用于实现网页的DOM操作、实现前端编程;也可编译成后端JavaScript代码与服务端技术(如Node.js)交互。
不得不说的一点:目前Android已推荐使用Kotlin作为官方开发语言,这意味着Kotlin将会在Android开发者大放异彩,这也是笔者决定向读者介绍这门语言的重要原因之一。服务端的Kotlin
Kotlin程序可以编译为Java字节码,字节码可以直接在JVM上运行,因此Kotlin非常适合开发后端应用程序,Kotlin与现有Java能保持完全兼容,这意味着Kotlin不是一门简单的语言,它完全可以利用Java领域现有的各种技术框架:Spring、Hibernate、MyBatis、Lucene……因此Java开发者非常容易过度到使用Kotlin。
总结来看,Kotlin的显著优势有如下几点:
简洁性:这是我们选择使用Kotlin的最大动力,Kotlin具有大量现代语言的简洁和便捷性,因此
Kotlin被誉为Android平台的Swift。
兼容性:Kotlin完全兼容Java,因此Kotlin既是一门新的语言,也不是一门“全新”的语言,Kotlin
可以自由使用Java领域的无数框架和库。因此开发者既可保持熟悉的技术栈,又可获得现代化语言的优势。
迁移性:Kotlin支持大型项目从Java到Kotlin逐步迁移:项目主体部分继续使用Java,新开发的功能可使用Kotlin编写,也可逐步使用Kotlin代替部分老旧的Java代码。
短期内,Kotlin不会对Java形成巨大的冲击,但Kotlin简洁、优雅的语法可以对Java形成良好的补充,开发者可根据需要自由选择Java或Kotlin,最终都会生成字节码文件,运行于JVM平台上。
Kotlin开发Android应用
Google官方推荐使用Kotlin作为Android开发语言证明了Kotlin非常适合开发Android应用。使用Kotlin开发Android应用可充分利用Kotlin的简洁性和便捷性。
正如前面介绍的,Kotlin完全兼容JDK 1.6,因此保证了基于Kotlin开发的Android应用完全可以在较旧的Android设备上运行。对于广大Android应用开发者而言,大部分时候都是与Android应用程序框架层交互,调用Android应用程序框架层的API,而Kotlin可以自由调用Java的各种类库,因此使用Kotlin调用Android应用程序框架层来开发应用程序甚至无需额外学习,开发者可以无缝地过渡为使用Kotlin开发。
就性能方面来说,Kotlin编译的字节码与Java原生字节码极为相似。随着Kotlin对内联函数的支持,使用Lmbda表达式的代码通常比用Java写的代码运行得更快。正是基于以上两点主要的优势,Google官方也推荐使用Kotlin作为Android开发语言。
Kotlin用于JavaScript
Kotlin程序还可以编译成JavaScript代码,Kotlin程序会生成遵守ECMAScript规范的JavaScript代码。当选择生成JavaScript目标时,不仅会包括开发者自己写的Kotlin代码,也会包括Kotlin附带的标准库,它们都会转换为JavaScript。
Kotlin既可生成的前端使用的JavaScript代码,也可生成后端使用的JavaScript代码。当生成前端JavaScript代码时,Kotlin可实现如下功能:
Kotlin提供了大量API来操作DOM(文档对象模型),允许通过DOM API来动态创建和更新页面。
Kotlin也可使用现有的前端库和框架,如jQuery和ReactJS等。
当生成后端JavaScript代码时,Kotlin完全也可与后端JavaScript(如node.js)进行交互。
本书重点介绍Kotlin生成JVM字节码,这种Kotlin程序完全可以兼容Java程序,这也是Kotlin
开发Android应用的基础。
以上内容节选自《疯狂Kotlin讲义》:一本让您最直接认识Kotlin的疯狂讲义
本书即将于2017年11月发售 敬请期待
相关书籍《疯狂Android讲义》