發(fā)布人:開發(fā)技術(shù)推廣工程師 Wojtek Kaliciński
來自開發(fā)者社區(qū)的熱情與積極采用推動了 Kotlin 成為 Android 開發(fā)的 首選語言 (Kotlin-first)。隨著 Kotlin 不斷發(fā)展,JetBrains(Kotlin 的創(chuàng)建者)血崭、開源社區(qū)以及 Google 團(tuán)隊(duì)也將持續(xù)投入更多的資源和精力擅羞。
我們很高興與大家分享 Kotlin 1.4 版本,這將是 Kotlin 發(fā)展的下一個里程碑蝗罗,包含新的語言特性艇棕、改進(jìn)的編譯器和工具。以下是此版本中部分振奮人心的新特性的簡要概述串塑。您可以在 JetBrains 官方博客 中閱讀有關(guān) Kotlin 1.4 的更多信息欠肾。
新語言特性
Kotlin 1.4 中引入的新語言特性改善了編寫 Kotlin 代碼的 "人機(jī)工程學(xué)",例如:
Kotlin 接口的 SAM 轉(zhuǎn)換
過去拟赊,只有 Java 編程語言中定義的功能接口(即只有一個單一抽象方法 - SAM)受益于 Kotlin 中的速記語法:
executor.execute { println("This is shorthand for passing in a Runnable") }
現(xiàn)在刺桃,Kotlin 1.4 可以將 Kotlin 接口標(biāo)記為功能接口,并通過添加 fun
關(guān)鍵字讓它們以類似方式工作:
fun interface Transformer<T, U> {
fun transform(x: T): U
}
val length = Transformer {
x: String -> x.length
}
Kotlin 1.4 版本說明 頁面介紹了有關(guān)新語言特性的更多信息吸祟,如:混合命名和位置參數(shù)瑟慈、尾部逗號、可調(diào)用引用改進(jìn)屋匕,以及在循環(huán)中的 when
內(nèi)部使用 break
和 continue
葛碧。
顯式 API 模式
另外一個新特性是 顯式 API 模式,面向 Kotlin 的庫作者过吻。
該模式強(qiáng)制執(zhí)行 Kotlin 的某些語言屬性进泼,這些屬性通常為可選,例如指定可見性修飾符纤虽,以及任何公共聲明的顯式鍵入乳绕,防止設(shè)計(jì)庫的公共 API 時(shí)出錯。官方文檔說明了如何啟用顯式 API 模式并開始使用這些附加檢查逼纸。
編譯器的改進(jìn)
上述語言特性是 Kotlin 1.4 中密切貼合開發(fā)者的一部分改動洋措,其他大部分工作是以提高 Kotlin 編譯器的整體質(zhì)量和性能為主。
現(xiàn)在杰刽,所有開發(fā)者都可以利用的優(yōu)勢之一是 更強(qiáng)大的新類型推理算法 (默認(rèn)啟用)菠发,它可以在更多用例中自動推理類型王滤,即使在復(fù)雜的場景下也支持智能轉(zhuǎn)換,幫助開發(fā)者提高工作效率滓鸠。
除了類型推斷算法雁乡,Kotlin 1.4 還為 Kotlin/JVM 和 Kotlin/JS 帶來了全新的編譯器后端(Alpha 穩(wěn)定階段,可選)糜俗,用IR 編譯器 生成代碼并用于 Kotlin/Native 后端蔗怠。
Jetpack Compose 需要 Kotlin/JVM IR 后端。Google 工程師正在與 JetBrains 合作吩跋,希望將其打造成默認(rèn)的 JVM 編譯器后端寞射。
因此,即使您當(dāng)前不使用 Jetpack Compose 進(jìn)行開發(fā)锌钮,我們同樣建議您嘗試全新 alpha 版 Kotlin/JVM 后端桥温,如果在使用中有任何問題和功能請求請?zhí)峤坏?問題跟蹤器。
在 Gradle 構(gòu)建腳本中指定額外編譯器選項(xiàng)即可啟用新的 JVM IR 后端:
kotlinOptions.useIR = true
立即體驗(yàn) Kotlin 1.4梁丘!
項(xiàng)目和 IDE 更新到 Kotlin 1.4 需要完成兩個步驟侵浸。
首先,確保您使用最新版 Android Studio氛谜,以最大限度地提高性能優(yōu)勢以及與最新 Kotlin 插件的兼容性掏觉。當(dāng)與 IDE 版本兼容的 Kotlin 1.4.0 插件可用時(shí),Android Studio 將提示您值漫,或者您也可以轉(zhuǎn)到 Preferences | Plugins 手動觸發(fā)更新澳腹。
啟用插件后,您可以更新 build.gradle 腳本中的 Kotlin Gradle 插件版本杨何,將應(yīng)用項(xiàng)目升級以使用 Kotlin 1.4酱塔。根據(jù)插件的管理方式,您必須在頂層項(xiàng)目的 buildscript
塊中更新版本:
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0"
}
}
或在模塊級別的 build.gradle 文件的 plugins
塊中更改版本號:
plugins {
id 'org.jetbrains.kotlin.android' version '1.4.0'
}
請務(wù)必仔細(xì)閱讀語言改動并更新項(xiàng)目代碼危虱,確保兼容最新版本羊娃。快來體驗(yàn) Kotlin 1.4 吧埃跷!
Java 是 Oracle 和 / 或其附屬公司的注冊商標(biāo)蕊玷。