
Kotlin開發團隊發布2.2.20版本,本次更新聚焦在Web開發體驗,Kotlin/Wasm正式邁入Beta測試階段,並在例外處理與瀏覽器除錯上帶來明顯改進。對於需要在JavaScript與WebAssembly之間跨界協作的開發者而言,這些改動有助於提升程式行為的可預測性與除錯效率,降低維護負擔。
過去JavaScript拋出的錯誤在傳入Kotlin/Wasm時,往往因資訊缺失而難以分析,反向傳遞時也可能被包裝成不透明的WebAssembly例外,而這個問題在新版獲得改善,JavaScript錯誤能在Kotlin端更完整呈現,而Kotlin例外則能在JavaScript端以一般錯誤捕捉,不再丟失細節。這項改善相依於WebAssembly.JSTag,目前已由Chrome 115、Firefox 129與Safari 18.4等以上版本瀏覽器支援,確保在新版本環境中能直接受益,而舊版瀏覽器則維持既有相容性。
瀏覽器除錯流程也獲得簡化,之前要在瀏覽器中追蹤Kotlin/Wasm程式碼,開發者必須在Gradle的Webpack開發伺服器設定中額外提供原始碼路徑,步驟繁瑣。不過,從Kotlin 2.2.20開始,執行*DevRun這類任務時,Gradle外掛會自動將原始碼送到瀏覽器,讓開發者能直接設定斷點、檢視變數並逐步執行程式,官方同時提醒,此功能僅適合本地開發環境使用,以避免原始碼在非預期情境下被公開。
新版本還調整了Kotlin/Wasm的NPM相依項目管理方式,Kotlin工具鏈相依與專案自有相依分開配置,專案內的鎖定檔僅記錄實際使用的套件,而這使得專案版本控制更乾淨,減少因工具鏈更新導致的無關變動,對團隊協作與CI流程而言,能更清楚分辨工具更新與專案變更,避免不必要的檔案衝突。
在程式碼架構上,使用預設階層樣板(Default Hierarchy Template)時,Kotlin 2.2.20新增了預設的webMain與webTest程式碼共享區,專門讓JavaScript與WebAssembly目標可以共用同一份程式碼。
以往要同時支援這兩個平臺,開發者必須在兩邊各寫一次相似的程式碼,或自行建立額外設定,維護成本高,但現在只要把共用邏輯放進webMain或webTest,就能同時被JavaScript與WebAssembly使用。對於需要同時支援不同瀏覽器,或開發跨平臺Web應用的人來說,這不僅能減少重複撰寫,專案結構也會更一致容易維護。
熱門新聞
2025-12-12
2025-12-16
2025-12-15
2025-12-15
2025-12-15
2025-12-15
2025-12-16