全新 Kotlin 1.4 ,全新語言特性和更多改進

發佈人:開發技術推廣工程師 Wojtek Kaliciński

來自開發者社區的熱情與積極採用推動了 Kotlin 成爲 Android 開發的 首選語言 (Kotlin-first)。隨着 Kotlin 不斷髮展,JetBrains(Kotlin 的創建者)、開源社區以及 Google 團隊也將持續投入更多的資源和精力。

我們很高興與大家分享 Kotlin 1.4 版本,這將是 Kotlin 發展的下一個里程碑,包含新的語言特性、改進的編譯器和工具。以下是此版本中部分振奮人心的新特性的簡要概述。您可以在 JetBrains 官方博客 中閱讀有關 Kotlin 1.4 的更多信息。

新語言特性

Kotlin 1.4 中引入的新語言特性改善了編寫 Kotlin 代碼的 "人機工程學",例如:

Kotlin 接口的 SAM 轉換

過去,只有 Java 編程語言中定義的功能接口(即只有一個單一抽象方法 - SAM)受益於 Kotlin 中的速記語法:

executor.execute { println("This is shorthand for passing in a Runnable") }

現在,Kotlin 1.4 可以將 Kotlin 接口標記爲功能接口,並通過添加 fun 關鍵字讓它們以類似方式工作:

fun interface Transformer<T, U> {
   fun transform(x: T): U
}
val length = Transformer {
   x: String -> x.length
}

Kotlin 1.4 版本說明 頁面介紹了有關新語言特性的更多信息,如:混合命名和位置參數、尾部逗號、可調用引用改進,以及在循環中的 when 內部使用 breakcontinue

顯式 API 模式

另外一個新特性是 顯式 API 模式,面向 Kotlin 的庫作者。

該模式強制執行 Kotlin 的某些語言屬性,這些屬性通常爲可選,例如指定可見性修飾符,以及任何公共聲明的顯式鍵入,防止設計庫的公共 API 時出錯。官方文檔說明了如何啓用顯式 API 模式並開始使用這些附加檢查。

編譯器的改進

上述語言特性是 Kotlin 1.4 中密切貼合開發者的一部分改動,其他大部分工作是以提高 Kotlin 編譯器的整體質量和性能爲主。

現在,所有開發者都可以利用的優勢之一是 更強大的新類型推理算法 (默認啓用),它可以在更多用例中自動推理類型,即使在複雜的場景下也支持智能轉換,幫助開發者提高工作效率。

除了類型推斷算法,Kotlin 1.4 還爲 Kotlin/JVM 和 Kotlin/JS 帶來了全新的編譯器後端(Alpha 穩定階段,可選),用IR 編譯器 生成代碼並用於 Kotlin/Native 後端。

Jetpack Compose 需要 Kotlin/JVM IR 後端。Google 工程師正在與 JetBrains 合作,希望將其打造成默認的 JVM 編譯器後端。

因此,即使您當前不使用 Jetpack Compose 進行開發,我們同樣建議您嘗試全新 alpha 版 Kotlin/JVM 後端,如果在使用中有任何問題和功能請求請提交到 問題跟蹤器

在 Gradle 構建腳本中指定額外編譯器選項即可啓用新的 JVM IR 後端:

 kotlinOptions.useIR = true

立即體驗 Kotlin 1.4!

項目和 IDE 更新到 Kotlin 1.4 需要完成兩個步驟。

首先,確保您使用最新版 Android Studio,以最大限度地提高性能優勢以及與最新 Kotlin 插件的兼容性。當與 IDE 版本兼容的 Kotlin 1.4.0 插件可用時,Android Studio 將提示您,或者您也可以轉到 Preferences | Plugins 手動觸發更新。

啓用插件後,您可以更新 build.gradle 腳本中的 Kotlin Gradle 插件版本,將應用項目升級以使用 Kotlin 1.4。根據插件的管理方式,您必須在頂層項目的 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'
}

請務必仔細閱讀語言改動並更新項目代碼,確保兼容最新版本。快來體驗 Kotlin 1.4 吧!

Java 是 Oracle 和 / 或其附屬公司的註冊商標。

最後

本文在開源項目:https://github.com/xieyuliang/Note-Android中已收錄,裏面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章