标题

历史简介

Kotlin是JetBrains团队开发的一门基于 JVM 的,现代的、注重工程实用性的静态类型编程语言。Kotlin可以编译成Java字节码,也可以编译成JavaScript、Native、而且它是由 Jetbrains 开发的。Kotlin 编译为字节码,则意味着它在运行时使用 JVM(Java虚拟机)将字节码编译为机器码。

语法简单优雅、表现力丰富、抽象扩展方便、代码可重用性好,同时也支持面向对象和函数式编程的多范式编程。Kotlin可以编译成Java字节码运行在JVM平台和Android平台,也可以编译成JavaScript运行在浏览器环境,而且还可以直接编译成机器码的系统级程序,直接运行在嵌入式、iOS、MacOS/Linux/Windows等没有JVM环境的平台。

那么 JavaScript 呢? 事实上,它使用目标 ECMAScript 5.1 将 Kotlin 代码转换为 JavaScript。 虽然我不是 JavaScript 专家,但是可以查看官方文档以获取更多详细信息。

Kotlin 的一个厉害的特性在于能够编译原生,并支持更多没有 JVM 的平台 – 现在,Kotlin Native 可以在 Mac OS、Linux、Raspberry Pi 和 iOS(通过在 Mac 上交叉编译)上使用 LLVM 生成可执行文件。 Windows 平台尚不支持,但他们正在开发中。

看上去非常像Scala,但更简单。 它不遵循特定的编程哲学,如函数式风格或面向对象风格。Kotlin具备现代(也有称下一代的)静态编程语言的很多特点。

它是一门非常优秀、优雅有趣、流畅实用的语言。

时间线

2017年I/O大会,官宣支持Kotlin
2019年I/O大会,宣布 Kotlin-first,Kotlin 编程语言成为 Android 应用程序开发人员的首选语言。

性能

运行性能

  • 大部分场景两者执行效率一致;
  • 有内联函数的场景Kotlin执行效率会更高如:lambda 表达式;
  • inline特性:设置某些高频方法进行inline操作,减少了运行时进栈出栈和保存状态的开销;
  • 使用Kotlin只会比Java的包多80K左右;

编译性能

  • clean构建即全量构建Java比Kotlin稍快;
  • Gradle daemon运行和增量编译的开启,Kotlin编译速度与java一样快或略快于Java。
  • 开启gradle daemon,即在~/.gradle/gradle.properties文件中,增加org.gradle.daemon=true
  • 在项目的gradle.properties中增加kotlin.incremental=true 开启kotlin的增量编译。

性能相关资料

资源

专栏

入门

教程

中级

实现设计模式
掌握基本后,练习设计模式。巩固基础的同时把设计模式也学了。

高级

生态圈

Multiplatform

项目

生态

  • ktor Kotlin开发服务端框架
  • ktor ktor Github
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐