kotlin学习第一篇

尽管Kotlin已经出来很久了,但一直没有被行业过多的进行关注。直到2017年谷歌公司在I/O大会上宣布Kotlin成为开发Android App的一级语言后,Kotlin才迅速走红。那么什么是Kotlin,与Java相比有什么特别之处,足以让Google公司选择成为Android App 的一级语言呢?下面我们来详细的研究下Kotlin。

1.Kotlin是什么

在Kotlin没有被过多的关注时,可能很多人看到这个词都会很陌生,就像iPhone以及相应的开发工具之前,OC一样鲜为人知。Kotlin和OC一样,是一门编程语言。

Kotlin是有JetBrains创建的基于JVM的编程语言,这种编程语言运行在JVM上,也就是Kotlin编译器会直接把Kotlin源代码编译成Java字节码,直接运行到JVM上。从这一点上可以看出,Java和Kotlin是同一个级别的,都可以通过Java字节码运行到JVM上。

但是Kotlin拥有Java所不具有的特性,Kotlin可以把Kotlin源代码编辑生成JavaScript代码,以便在没有JVM的时候运行。在未来,Kotlin编译器还可以把源代码编译生成本地代码,完全脱离任何虚拟机运行。

也就是说,Kotlin相对Java的优势之一是多目标编译语言,而Java只编译生成Java Byte Code(.class文件)

2.Kotlin相较于Java有哪些优势?

刚才已经说过,Kotlin是多目标编译语言,而Java只编译生成Java字节码。那除了这些,Kotlin还有哪些优势呢?

① 更容易学习:Kotlin是一门包含很多函数式编程思想的面向对象编程语言

② 轻量级: 相比其他的编程语言,Kotlin函数库更小。由于Android存在65k的方法书限制,使得这一点尤为重要。虽然可以使用ProGuard或者打包成多个dex能够轻松解决这个问题,但这些解决方案会提高复杂性,并增加调试时间。Kotlin函数库方法数小于7000个,只相当于v4包。

③ 高度可互操作性:可以和其他的Java类库友好且简单的进行互操。Kotlin开发团队在开发这门编程语言时秉承的中心思想就是,使用Kotlin可以继续开发现有的Java语言编写的工程,而不是重写所有代码。因此,Kotlin需要可以很好的和java进行互操作。

④ 非常好的集成了AS和Gradle:Kotlin有一个专门用于AS的插件,以及另一个专门用于Gradle的插件。因此在Android工程中使用Kotlin并不难。

3.Kotlin能做什么?

从前面的内容可以知道,Kotlin可以开发Android App,那么除了可以开发Android App ,Kotlin还可以做什么呢?

① 服务端开发:既然Kotlin是基于JVM的编程语言,那么就自然而然的可以使用所有基于JVM的服务框架,如Spring框架,Vert.x框架等

② 以JavaSprict方式运行:Kotlin提供了生成JavaScript源代码的能力,可以直接将Kotlin代码直接转换成JavaScript代码运行。不过目前仅支持ECMAScript 5.1标准。

③ 开发Android App

下一篇将讲述安装和配置Kotlin。

 

你可能感兴趣的:(Kotlin)