Google釋出Alpha測試版的Kotlin Symbol Processing(KSP)是一個API,讓開發者在Kotlin中,建置輕量級編譯器套件的全新工具,KSP與Kotlin註解處理工具KAPT(Kotlin Annotation Processing Tool)功能相似,但是速度可達兩倍之快,開發者可以直接存取Kotlin編譯器功能,並且對多平臺有更好的相容性。KSP相容於Kotlin 1.4.30以及更高版本,開發者已經可以從GitHub儲存庫中,查看開放原始碼和相關文件。

Google提到,他們最常從Kotlin開發人員那收到的要求,就是希望能夠提高建置速度。不少開發人員每天都要迭代並且部署應用程式數十次,而編譯Kotlin程式碼的一大挑戰,便是Kotlin沒有原生註解處理系統,而Android上像是Room這樣的註解處理器(Annotation Processor),則必須仰賴KAPT,但是Google表示,KAPT的執行速度可能很慢,因為他需要生成中介Java樁(Stub),才能被Java註解處理系統取用。

因此Google開發了KSP,其提供了一個強大且簡單的API,可以直接解析Kotlin程式碼,並且大幅降低KAPT生成樁所帶來的建置速度負擔,在Room函式庫初始基準測試中,KSP的速度約是KAPT的2倍。KSP讓大多數應用程式開發人員,不需要擔心其內部處理,只要變更一行程式碼,支援KSP的函式庫就像是一般的註解處理器,只是速度更快。

Google表示,現在於同一個模組中同時使用KAPT和KSP,可能降低初始建置的速度,因此在Alpha測試階段,最好在單獨的模組中,個別使用KSP和KAPT。隨著越來越多註解處理器使用KSP,Google希望KSP可以成為KAPT的替代。


熱門新聞

Advertisement