Google力推的程式語言Kotlin釋出最新版本1.3.70,這個版本沒有新增任何主要的新功能,重點擺在改善現有功能修復臭蟲,並且在標準函式庫中,加入一些實驗性內容供開發者試用,其中值得注意的便是,官方加入了一個可適用於演算法和應用程式的資料結構ArrayDeque。

這次在標準函式庫為Kotlin Collections新加入的功能和類別,都仍在實驗階段。通用標準函式庫kotlin.text套件中的StringBuilder,有許多重要的成員缺失或是只能在JVM上使用,而現在官方補充了StringBuilder,所有JVM上的StringBuilder功能都新增到通用expect類別中,不同平臺都有相對應的實作,讓開發者能夠更方便有效地,在通用程式碼中使用StringBuilder,並且擁有所有必要的成員。

這次更新Kotlin標準函式庫還加入了雙端佇列實作kotlin.collections.ArrayDeque類別,官方提到,這是社群不停要求的功能,因為即便之前開發者就可以使用Java標準函式庫中的java.util.ArrayDeque類別,但是仍然沒有可以用於Kotlin/JS、Kotlin/Native或是通用程式碼的通用實作。

Kotlin現在可以在JVM的位元組碼生成類型註釋,而這些類型註釋可在執行時使用,官方表示,這也是社群要求了一段時間的功能,因為這將可讓部分現存的Java函式庫用起來更方便,也為開發函式庫的人,提供更多可用功能。

對於可將Kotlin程式碼編譯成為JavaScript的Kotlin/JS,官方大幅最佳化了編譯後JavaScript的捆綁包大小,Kotlin 1.3.70現在透過Gradle套件加入死碼刪除(Dead Code Elimination,DCE)功能,開發者可以進一步控制JavaScript專案的最佳化和執行。死碼移除是指移除對程式執行結果沒有任何影響的程式碼,除了減少整體程式大小之外,還能消除不必要的程式運算,減少執行時間,不會執行的程式碼以及無關結果的變數,都屬於死碼。

現在Kotlin/Native編譯和除錯的速度更快了,Kotlin 1.3.70版本最佳化了Kotlin/Native開發的整體效能,官方新增兩個功能減少編譯時間,其一是Kotlin/Native編譯器現在直接由Gradle守護行程執行,系統會在每次編譯時,將編譯器載入到守護行程,因此不再需要花費時間重新啟動一個新的程序,另外,在除錯模式下,編譯器將快取專案相依項目,雖然第一次編譯花費的時間更長,但是隨後幾次編譯速度更快,不過目前僅適用於iOS模擬器與macOS中。


Advertisement

更多 iThome相關內容