Kotlin 1.4.0 發布

2020-12-27 開源中國

Kotlin 1.4.0 已經發布,此版本支持多種新的語言功能,包括期待已久的 Kotlin 接口的 SAM 轉換。

此版本的重點是改善 Kotlin 的整體開發體驗,包括提高 IDE 性能和穩定性。開發團隊檢查和修復了超過 60 個性能問題,包括導致 IDE 凍結或內存洩漏的許多問題。

當第一次處理項目並打開一個較大的 Kotlin 文件時,現在可以更快地看到高亮顯示的內容。在大多數情況下,高亮顯示的速度現在提高了 1.5-4 倍:

同時還大幅縮短了顯示自動補全建議所花的時間。下圖概述了 Kotlin 用戶所經歷的平均自動補全響應時間,補全時間超過 500 毫秒的情況幾乎減少了一半:

需要注意的是,這些最新更改(包括加速的代碼高亮顯示) 只能在 IntelliJ IDEA 2020.1+ 和 Android Studio 4.1+ 使用。

此外已開始集成新的實驗性 Kotlin 編譯器前端,這將進一步提高 IDE 的速度。這是一項艱巨的任務,需要重寫插件的許多部分,但是它將提高 IDE 在許多方面的性能,包括代碼補全、語法高亮顯示和編譯器錯誤報告。

IDE 新功能

為了可以更輕鬆地使用協同程序,尤其是查明並發應用程式中的錯誤,引入了協同程序調試器。此外還引入了一個靈活的新 Kotlin Project Wizard。這個新嚮導提供了一個創建和配置不同類型的 Kotlin 項目的地方,即使使用更複雜的結構(例如多平臺項目),也可以輕鬆上手。

Kotlin 1.4.0 添加了超過 40 項新的快速修復、意圖和檢查,它們將在開發者需要時提供幫助——修改代碼時,按 Alt+Enter 可以查看在特定上下文中可用的功能。

新的編譯器

新編譯器的主要目標是變得更快速、統一 Kotlin 支持的所有平臺,並提供用於編譯器擴展的 API。Kotlin 1.4.0 中,有幾項正在進行的工作:

語言功能

Kotlin 1.4 提供了許多新功能:

庫改進

在此版本中,Kotlin 標準庫有新集合運算符、委託屬性改進以及雙端隊列實現 ArrayDeque等新改進。

無論是針對單一平臺還是在多平臺項目中工作,在任何 Gradle Kotlin 項目中,都不再需要聲明與 stdlib 的依賴關係。 從 Kotlin 1.4.0 開始,此依賴關係默認添加。

完整更新說明見發布公告:

https://blog.jetbrains.com/zh-hans/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance-zh

相關焦點

  • 來了,支持 iOS 開發的 Kotlin/Native v0.4 發布
    Kotlin / Native v0.4 已發布,這也正是在 KotlinConf 2017 上宣布的支持開發 iOS 應用的版本。
  • Kotlin 1.4 正式版發布,專注於質量和性能
    作者:技術最TOPKotlin 1.4.0 8月17日發布!在過去的幾年裡,我們一直在努力使 Kotlin 成為一種有趣、令人愉快且高效的程式語言。在 Kotlin 1.4.0 中,我們發布了幾項正在進行的工作:更強大的新類型推理算法默認啟用。它可以在更多用例中自動推理類型,即使在複雜的場景下也支持智能轉換,改進了委託屬性的推理,等等。新的 JVM 和 JS 後端以 Alpha 模式提供。一旦穩定下來,它們就會成為新的默認設置。
  • 申通回應被京東「封殺」;甲骨文加入TikTok競購戰;Kotlin 1.4.0 發布|極客頭條
    川普稱甲骨文或購買TikTok美國業務Zoom將在新加坡開設新數據中心特斯拉正在與臺積電合作開發HW 4.0自動駕駛晶片PowerShell 7.1 Preview 6 發布Kotlin 1.4.0 發布
  • Kotlin 1.4 現已發布,專注於質量和性能
    Kotlin 1.4.0 今日發布! 在過去的幾年裡,我們一直在努力使 Kotlin 成為一種有趣、令人愉快且高效的程式語言。 為了藉助此版本的 Kotlin 繼續追求這一目標,我們投入了大量精力和努力來提高 Kotlin 及其工具的性能和質量。
  • Kotlin入門(1)-環境配置
    什麼是kotlin1.定義Kotlin 是一個基於 JVM 的新的程式語言,由 JetBrainskotlin官方網站2.特點簡潔務實安全互操作性如何下載kotlin包??Scoop來安裝,這裡就不細說了環境配置手動配置1、.安卓Kotlin插件File->Settings -> plugins -> BrowseRepositories -> 搜索「Kotlin
  • Kotlin 的 99 個練習題(1)
    示例penultimate(listOf(1, 1, 2, 3, 5, 8))// output:// 5解決代碼:package org.kotlin99.listsimport com.natpryce.hamkrest.assertion.assertThatimport
  • 超乾貨詳解:kotlin(4) java轉kotlin潛規則
    而且為了快速轉型,可能會直接把java類轉成kotlin類,而這個過程中,涉及到java和kotlin的交互,往往會磕磕碰碰,以下總結了一部分 java kotlin交互方面的問題.  Kotlin文件和類不存在一對一關係  kotlin的文件,可以和類名一致,也可以不一致。這種特性,和c++有點像,畢竟c++的.h 和 .cpp文件是分開的。
  • Gradle 4.1.0 正式發布,Groovy 構建工具
    Gradle 4.1.0 已發布,Gradle 是一個基於 Apache Ant 和 Apache Maven 概念的項目自動化構建工具。
  • Kotlin 1.4 和未來值得期待的地方
    這將是一項多年的工作,不過開發團隊已開始好一陣子了,因此新實現的某些部分將在 1.4 中發布,可讓這個過程變得更加平順。有些功能也已經發布了; 例如,如果開發者嘗試了用於類型推理的新算法,它是新編譯器的一部分。其他部分的處理方法相同。 也就是說,兩種版本都將在一段時間內可用,舊版本和新版本都將處於實驗模式; 當新的穩定後,它將成為默認版本。
  • 乾貨丨Kotlin在Spring Boot中的應用
    Spring Boot介紹從2014年4月發布1.0.0.RELEASE到現在的最新版本2.2.2.RELEASE,從最初的基於Spring 4到現在基於Spring 5,從同步阻塞編程到異步響應式編程,Spring Boot經歷了數十個RELEASE版本,發展迅速,表現穩定,其各版本發行時間如下表。
  • 將Kotlin二進位文件縮小99.2%
    該示例中的示例將Kotlin版本從1.1-M03提升到1.1-M04,產生了以下差異:@@ -125,2 +125,3 @@-| \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1-M03-|
  • 除了Android開發Kotlin 還能做什麼?六款優質Kotlin項目分享
    1.AndroidZdog項目作者:prostory開源許可協議:MIT項目地址:https://gitee.com/prostory/AndroidZdogAndroid平臺上的偽3D圖形動畫引擎Zdog,使用kotlin編寫。
  • Kotlin 1.2.70 發布,增量編譯速度提高 7 倍
    Kotlin 1.2.70 已發布,這是 Kotlin 1.2 的一個新的 bug 修復和工具更新版本。
  • OkHttp 4 正式版發布,從 Java 切換到 Kotlin
    OkHttp 4 正式版發布了,此版本最大的變化就是項目從 Java 遷移到了 Kotlin。
  • Kotlin 一統天下?Kotlin/Native 支持 iOS 和 Web 開發
    RC首先宣布了 Kotlin 1.2 RC 版(即 1.2 首個候選發行版)。根據目前的計劃,Kotlin 1.3 將會刪除協程的實驗性狀態。Kotlin/Native 對 iOS 開發的支持另外一個重大消息就是 Kotlin/Native 已支持用於開發 iOS 應用,這也將是 Kotlin/Native 0.4 的特性之一。雖然對 iOS 開發的支持仍處於早期階段,但確實已經實現了,這是在所有平臺上使用 Kotlin 進行開發的重要一步。
  • Kotlin 1.4 來了!全新語言特性和更多改進
    我們很高興與大家分享 Kotlin 1.4 版本,這將是 Kotlin 發展的下一個裡程碑,包含新的語言特性、改進的編譯器和工具。以下是此版本中部分振奮人心的新特性的簡要概述。您可以在 JetBrains 官方博客 中閱讀有關 Kotlin 1.4 的更多信息。
  • 「開源資訊」Kotlin 1.4.0 發布,增加Kotlin接口的 SAM 轉換
    Kotlin 1.4.0 已經發布,此版本支持多種新的語言功能,包括期待已久的 Kotlin 接口的 SAM 轉換。在大多數情況下,高亮顯示的速度現在提高了 1.5-4 倍:同時還大幅縮短了顯示自動補全建議所花的時間。
  • Kotlin 1.4改進標準函數庫強化Java模塊支持
    Kotlin 1.4其他的更新還包括函數接口(Function Interface)被加入了標準函數庫,另外,雖然Kotlin不會檢查例外,但可以使用@Throws註解,和Java和Swift等會檢查例外的語言互通,過去JVM和Native使用不同命名的註解,但從Kotlin 1.4開始,@Throws註解正式成為公共函數庫,放在Kotlin組件kotlin.Throws
  • Kotlin + Spring Boot服務端開發
    val oneOrTwo = if (a == "Hello") 1 else 2  // ===相當於Java的== (a === b) == false  // Lambda用{}包起來,若有唯一參數,參數名默認為it // 集合的函數式操作, 無需Java 8繁瑣的stream.collect(Collectors.toList()) listOf(-1, 0, 1).map{it + 1}.
  • Kotlin 系列:Kotlin和 Java 混用時 開發以及編譯的注意事項
    改寫kotlin後,也可以利用Idea的自動轉換。--kotlin 的 maven 編譯插件--> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId>