JetBrains官方釋出了Kotlin 1.3,同時順帶發布了一套附加的函式庫、建構工具以及學習資源。在這次的改版中協同程序(Coroutines)達穩定版本,讓非阻塞程式碼更易於讀寫,另外,可將Kotlin程式碼直接編譯成原生二進位檔案的Kotlin/Native進入Beta測試階段。

而Kotlin的多平臺功能涵蓋所有支援的平臺,不同作業系統或是平臺可以共享商業邏輯,現在Android和iOS應用程式元件可共享業務邏輯,而伺服器、網頁和行動客戶端也可以互通邏輯,讓函式庫更容易移植。

Kotlin 1.3進入穩定版的協同程序,提供開發者開發更易於理解和後續發展的無阻塞非同步程式碼的方法,這個強大的工具從後臺工作卸載到實作複雜的網路協定都適用。Kotlinx.coroutines函式庫現在發布1.0版本,已足夠為管理任何規模的非同步作業提供強健的基礎,執行組合、取消、例外處理以及對處理特定使用者介面的使用案例。

官方也宣布Kotlin/Native進入Beta測試階段,Kotlin/Native使用LLVM將Kotlin原始碼編譯成原生二進位檔案,無需虛擬機器就能執行,適用於各種作業系統和CPU架構,包括iOS、Linux、Windows、macOS甚至WebAssembly和嵌入式系統。Kotlin/Native具有全自動記憶體管理功能,可以和C、Objective-C、Swift,以及Core Foundation、POSIX等任何公開平臺API互通。

Kotlin/Native Runtime強調不可變資料,並禁止執行緒之間共享未受保護的可變狀態,不過,實際上在Kotlin/Native中不具有執行緒的概念,而是被抽象為低級實作細節,並以Worker取代,官方表示,這是一種安全且易於管理的並行運算的方式。

在多平臺專案以及工具支援上,透過支援Android、JavaScript和Native,Kotlin可以處理現代應用程式的所有元件,對重複使用程式碼帶來巨大的優勢,節省對相同任務還要實作多次的成本。雖然目前Kotlin的多平臺功能仍處在測試階段,不過在Kotlin 1.3往前跨了一大步。

另外,Kotlin 1.3附帶了一組多平臺函式庫,功能涵蓋了HTTP、序列化和協同管理等日常事務,這個函式庫讓使用者可以方便地撰寫多平臺程式碼,當然開發者也可以創建自己的多平臺函式庫,將特定平臺的相依檔案包裝進通用API中。

JetBrains官方提到Kotlin今年的採用率大幅度的成長,官方統計數字提到,從2018年1月以來,約有150萬使用者撰寫過Kotlin程式碼,這個數字比去年增加了一倍,而社群在StackOverflow和公開Slack的活動也很活躍。

Kotlin除了是Android官方指定語言外,也大量的被用在GCP、Spring Framework和Gradle,開源社群也建立RxKotlin、mockito-kotlin、TornadoFX、Kodein和ΛRROW等豐富的函式庫,而Square的Okio和LibreOffice等專案也正移動到Kotlin上,Kotlin的生態系越趨成熟。


Advertisement

更多 iThome相關內容