Kotlin 誕生 10 周年
2011 年 7 月 19 日,在 JVM 語言峰會上,JetBrains 宣布了 Kotlin —— 一種用于 JVM 的新靜態(tài)類型編程語言。
Kotlin 官方博客發(fā)文慶祝這個值得紀念的日子,并稱自從 Kotlin 誕生以來,一直在改變他們在 JetBrains 的工作方式。
Kotlin 也從一個 Java 的替代方案發(fā)展成如今具備完整的生態(tài),可以針對不同的場景編寫代碼,包括服務(wù)器端、移動端、Web 前端、數(shù)據(jù)科學,甚至是多平臺項目。
JetBrains 分享了關(guān)于 Kotlin 的一些經(jīng)典回顧。 2011
JetBrains 首次公布 Kotlin,并為其設(shè)計了如下 logo:
首個語法原型,函數(shù)類型和字面量:
//Functions
fun f(p: Int) : String { return p.toString() }
//Function types
fun (p: Int) : String, fun (Int) : String
//Function literals
{ (p: Int) : String => p.toString()} {(p : Int) => p.toString() }
{p => p.toString()}
2012
Kotlin 的 logo 首次更新:
語法發(fā)生重大變化:
棄用命名空間(Namespace):namespace 關(guān)鍵字被 packagekeyword 所取代 使用細箭頭(->) 取代粗箭頭(=>) 函數(shù)類型更具可讀性 // before:
fun max(col: Collection<Int>, compare: fun(Int, Int): Int): Int
// after:
fun max(col: Collection<Int>, compare: (Int, Int) -> Int): Int發(fā)布 Kotlin 的 Web 項目 Demo:
Kotlin 正式開源,并支持在 Android 中使用:
package com.example
import android.app.Activity
import android.os.Bundle
class HelloKotlin() : Activity() {
protected override fun onCreate(savedInstanceState: Bundle?) {
super<Activity>.onCreate(savedInstanceState)
setContentView(R.layout.main)
}
}
2016
Kotlin logo 再次更新
Kotlin 1.0 正式發(fā)布
協(xié)程功能首次出現(xiàn)
fun main(args: Array<String>) {
val future = async<String> {
(1..5).map {
await (startLongAsyncOperation(it)) // suspend while the long method is running
}.joinToString(" ")
}
println(future.get())
}
2017
Kotlin 成為 Android 官方支持的開發(fā)語言
Kotlin/Native 首個技術(shù)預覽版發(fā)布
Kotlin/Native 能把 Kotlin 編譯成機器碼,支持在沒有虛擬機的情況下運行 Kotlin。 2018
Ktor 1.0 正式發(fā)布
fun main() {
embeddedServer(Netty, port = 8000) {
routing {
get ("/") {
call.respondText("Hello, world!")
}
}
}.start(wait = true)
}
2019
Kotlin 成為 Android 開發(fā)的首選語言 (Kotlin-first)
谷歌在 I/O 大會上宣布,Kotlin 編程語言現(xiàn)在是 Android 應用程序開發(fā)人員的首選語言。
2020
Kotlin Multiplatform Mobile 進入 Alpha 階段
Kotlin Multiplatform Mobile (KMM) 是由 JetBrains 創(chuàng)建的跨平臺移動開發(fā) SDK,它應用了 Kotlin 的多平臺功能,開發(fā)者能夠使用它在移動應用中共享業(yè)務(wù)邏輯,具體來說,可通過 KMM 在 iOS 和 Android 應用中使用相同的業(yè)務(wù)邏輯代碼。
轉(zhuǎn)自:OSCHINA
https://www.oschina.net/news/154026/ten-years-of-kotlin











