在今年的Google I/O大会上,Google 宣布在 Android 上为 Kotlin 提供一等支持(转为正房)。
在 Andorid 开发的圈子中,这无疑掀起了轩然大浪。对部分人来说,也许这是第一次听到 Kotlin 。事实上,在 2011 年 7 月,JetBrains 就推出 Kotlin 项目,直到去年 2 月 Kotlin v1.0 才正式发布。
Kotlin 是一门怎么样的语言?
Kotlin 是一种在 JVM 上运行的静态类型编程语言,可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
Build Applications For
作为通用语言,Kotlin 可以在Java工作的地方工作:服务器端应用程序,移动应用程序(Android),桌面应用程序。它适用于所有主要的工具和服务,如
- IntelliJ IDEA,Android Studio和Eclipse
- Maven,Gradle和Ant
- Spring Boot (Kotlin支持今天发布!)
- GitHub,Slack甚至Minecraft :)
Kotlin的关键重点之一是混合Java + Kotlin项目的互操作性和无缝支持,使采用更容易,从而减少了样板代码和更多的类型安全性。此外,Kotlin有一个广泛的标准库,使日常任务轻松流畅,同时保持字节码足迹低。当然,也可以在Kotlin中使用任何Java库。反之亦然。
核心的目标
-
简约:帮你减少实现同一个功能的代码量。
-
易懂:让你的代码更容易阅读,同时易于理解。
-
安全:移除了你可能会犯错误的功能。
-
通用:基于 JVM 和 JavaScript,你可以在很多地方运行。
-
互操作性: Kotlin 和 Java 可以相互调用,同时 Jetbrains 的目标是让他们 100% 兼容。
Why Kotlin
第一个hello world Kotlin程序
使用Inteijj idea 15及以上版本,免去安装Kotlin的烦恼,新建Java Project中选择Kotlin即可。
Java Projectfun main(args: Array<String>) {
println("hello world")
}
Convert Java File To Kotlin File
新建一个简单的java文件Customer.java
Convert Java File To Kotlin Fileimport java.io.Serializable;
public class Customer implements Serializable{
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
转换后的Customer.kt
import java.io.Serializable
class Customer : Serializable {
var name: String? = null
var address: String? = null
}
最直观的感受是Kotlin编程大大简化了臃肿的java代码,而且和java无缝对接,学习和迁移的成本大大降低,是一门很cool的语言,下一章继续Kotlin实践。
参考资料
Kotlin Programming Language
Dive Into Kotlin(一):初探 Kotlin
网友评论