Kotlin 2.0登場!預設啟用K2編譯器多平臺支援再強化
支付動態 · 2024-05-24

Kotlin 2.0預設啟用K2編譯器,帶來編譯速度大幅提升以及多平臺支援強化,改善開發體驗,另外,Kotlin也原生支援Compose Multiplatform,簡化多平臺UI開發

Android主要開發語言Kotlin 2.0現在已經正式發布,這是帶有K2編譯器的重大更新版本,新的K2編譯器不只能夠更好地理解程式碼,編譯速度也提升一倍,而且使Kotlin 2.0的多平臺支援更強大,伺服器端、網頁、桌面、iOS和Android應用程式,都可以共用同一套程式碼庫。

K2編譯器現在已經成為Kotlin 2.0預設的穩定編譯器,適用於JVM、原生、WebAssembly和JavaScript等各種目標平臺。K2編譯器的一大特色,便是效能的顯著提升,加快了新語言功能的開發,並且統一了Kotlin所支援的所有平臺,替多平臺專案提供更好的架構。為了確保K2編譯器的穩定性,JetBrains團隊已經編譯了來自用戶和內部專案總共1,000萬行的程式碼,在測試過程,也已有1.8萬名開發者與8萬個專案參與測試。

由於Kotlin 2.0採用了新的K2編譯器,因此在多平臺的支援上,有了長足的改進。在之前Kotlin編譯器的設計,無法於編譯時分離通用和平臺程式碼集,所以通用程式碼可能會存取平臺程式碼,而這可能會因平臺差異而產生不同的行為,此外,通用程式碼中的一些編譯器配置和相依項目,也會洩漏到平臺程式碼中,通用程式碼和平臺的界線變得模糊,可能導致程式碼難以維護和管理,甚至發生錯誤。

在Kotlin 2.0中,由於K2編譯器重新設計了編譯架構,在編譯期間嚴格分離通用和平臺程式碼集,開發團隊提到,這項變更的好處在使用expected和actual函式的時候會更為明顯,因為過去通用程式碼中的函式呼叫,可能會解析到平臺中的函式,但現在這種情況已經得到改正。

除了編譯時通用和平臺程式碼分離之外,另一個多平臺功能更新是expect和actual宣告的可見等級管理調整。在Kotlin 2.0之前,多平臺專案使用expect和actual宣告,兩者必須具有相同的可見性等級,例如expect宣告為public,則相對應的actual宣告也必須是public。

而Kotlin 2.0的expect和actual宣告,則可以具有不同的可見性等級,只是actual宣告的可見性等級,必須比expect宣告更寬鬆,或更具包容性。這個改進使得多平臺開發更為靈活,允許在不同平臺調整可見性層級,並同時維持程式碼的一致性和可讀性。

Kotlin 2.0編譯速度大幅提升,部分專案甚至可達到之前版本的2倍速,除了編譯速度,IntelliJ IDEA的K2模式效能也有明顯改進,在IntelliJ IDEA Ultimate的程式碼庫中,程式碼突出顯示的速度提升至1.8倍,程式碼完成速度也是之前的1.5倍。目前K2模式的IntelliJ IDEA還在Alpha階段,官方預計會在2024年底成為預設模式。

Kotlin 2.0也提供對Compose Multiplatform專案的原生支援,Jetpack Compose編譯器被合併到Kotlin儲存庫中與Kotlin一同發布,開發者使用Compose Multiplatform進行多平臺UI開發將會更方便。Kotlin開發團隊正在積極開發新一代Kotlin Multiplatform函式庫格式,供開發者從任意主機開發和發布Kotlin Multiplatform函式庫與通用Kotlin函式庫。

熱門文章
斯里蘭卡博弈產業大轉型,官方:劍指南亞拉斯維加斯
合規與政策
超級PAC籌資4800萬美元:體育博彩勢力加碼
合規與政策
越南博彩管控逐步放寬,惟本土需求仍顯乏力
東南亞資訊
灰度在iGB L!VE 2026展位T70和你相約7月,一起點燃倫敦的熱情!
灰度頭條
菲律賓博彩技術賽道迎來新變局,B2B 供應模式加速滲透
東南亞資訊
JILI 宣佈與全球板球傳奇 AB de Villiers(ABD)達成重磅戰略合作
體育遊戲
西班牙監管機構警告在線賭博平臺存在身份盜竊行為
合規與政策
越南在線博彩業政策收緊 催生市場新機遇
東南亞資訊
GGC Awards 2026 璀璨科倫坡:致敬 iGaming 行業的領航者與創新力量
灰度頭條
巴西擬將博弈稅率提高至24% 稅收將用於社保與醫療領域
合規與政策
哈薩克計劃對線上賭場促銷活動進行處罰
合規與政策
英國確認各垂直行業的賭博稅稅率
合規與政策
新澤西州7月博彩收入創6.06億美元新高,頒布禁令
合規與政策
印第安納州在線賭場法案在眾議院委員會停滯不前
合規與政策
橫跨全球6個城市,灰度8場派對邀你共看世界盃,重塑高質量社交新場景
灰度頭條
首頁
遊戲
合作
發現
我的