Diposting oleh Ting-Yuan Huang, Software Engineer dan Jiaxiang Chen, Software Engineer
Kotlin Symbol Processing (KSP), alat baru kami untuk membangun plugin compiler ringan di Kotlin, sekarang dalam versi stabil! KSP menawarkan fungsionalitas yang mirip dengan Kotlin Annotation Processing Tool (KAPT), tetapi hingga 2x lebih cepat, menawarkan akses langsung ke konstruksi bahasa Kotlin, dan menawarkan dukungan untuk target multiplatform.
Selama beberapa bulan terakhir, KSP telah melalui 32 rilis dengan lebih dari 162 bug yang dilaporkan oleh komunitas dan diperbaiki oleh tim kami. Jika Anda berencana mengadopsinya, sekaranglah saatnya untuk mencoba.
Mengapa kami membangun KSP
Di tim Android, kami secara rutin bertanya kepada developer: apa frustrasi terbesar Anda saat menulis aplikasi saat ini? Salah satu masalah yang paling sering muncul adalah kecepatan build. Selama bertahun-tahun, kami terus melakukan peningkatan pada toolchain build Android, dan hari ini kami sangat gembira bisa menambahkan peningkatan tersebut dengan KSP. KSP adalah generasi berikutnya dari pemrosesan anotasi di Kotlin: KSP akan secara dramatis meningkatkan kecepatan build untuk developer Kotlin, dan tidak seperti KAPT, KSP menawarkan dukungan untuk Kotlin/Native dan Kotlin/JS.
"Menambahkan dukungan KSP ke Room meningkatkan kecepatan kompilasi dan memungkinkan Room untuk lebih memahami kode Kotlin, seperti nullability generik yang tidak mungkin dilakukan dengan KAPT. Ini juga membuka kemungkinan baru seperti pembuatan kode Kotlin, yang memungkinkan Room memiliki pengalaman pengguna Kotlin yang lebih baik di masa mendatang." - Yigit Boyar, Software Engineer, Android
Mengapa KSP lebih cepat?
Kotlin Annotation Processing Tool (KAPT) bekerja dengan infrastruktur pemrosesan anotasi Java untuk membuat sebagian besar pemroses anotasi bahasa Java langsung dapat digunakan di Kotlin. Untuk melakukannya, KAPT mengompilasi kode Kotlin ke dalam stub Java yang menyimpan informasi penting untuk pemroses anotasi Java. Membuat stub bukanlah hal mudah, ini berarti compiler harus me-resolve semua simbol dalam program Anda beberapa kali (sekali untuk menghasilkan stub, dan sekali lagi untuk melakukan kompilasi yang sesungguhnya).
KSP beralih dari model pembuatan stub dengan berfungsi sebagai plugin compiler Kotlin — ini memungkinkan pemroses anotasi membaca dan menganalisis program sumber dan sumber daya secara langsung di Kotlin, daripada mengharuskan Anda bergantung pada infrastruktur pemrosesan anotasi Java. Hal ini secara dramatis meningkatkan kecepatan build (hingga 2x lebih cepat untuk aplikasi pengujian Kotlin Room) dan berarti bahwa KSP bisa digunakan untuk lingkungan non-Android dan non-JVM seperti Kotlin/Native dan Kotlin/JS.
Cara memulai
Untuk mulai menggunakan KSP, download project playground KSP dari GitHub, yang menunjukkan cara menggunakan KSP baik sebagai pemroses anotasi maupun sebagai aplikasi/library pengguna:
- Pemroses anotasi: Library
test-processor
mainan yang mengimplementasikan pola builder sebagai pemroses KSP
- Library pengguna: Direktori
workload
yang menunjukkan cara menggunakan pemroses builder dalam project Kotlin sesungguhnya
Jika Anda seorang developer aplikasi, lihat daftar library yang didukung dan panduan memulai untuk memindahkan modul dari KAPT ke KSP.
Menggunakan Moshi atau Room dengan KSP
Jika Anda menggunakan Moshi atau Room dalam project, Anda sudah bisa mencoba KSP dengan melakukan perbaikan cepat pada file build modul. Sebagai contoh, untuk menggunakan Room versi KSP dalam modul Gradle, Anda cukup mengganti plugin KAPT dengan KSP dan menukar dependensi KSP:
apply plugin: 'com.google.devtools.ksp'
dependencies {
...
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
ksp "androidx.room:room-compiler:$room_version"
}
Lihat catatan rilis Room untuk informasi selengkapnya.
Kesimpulan
Dengan rilis KSP 1.0, Anda akan mulai melihat peningkatan waktu build untuk project Kotlin saat Anda bermigrasi dari pemrosesan berbasis library di KAPT. Kami juga telah meng-update sejumlah library khusus Android yang bisa Anda coba hari ini dan menawarkan peningkatan performa yang signifikan.
https://papersformoney.com/custom-writing-service/
ReplyDeletelace an order with an essay writer today, and you will see why we have such a high customer satisfaction rate.
โปรโมชั่น pg slot มากมาย เล่นง่ายจ่ายจริง แตกจริง ต้อง pg slot เท่านั้น! เล่นสล็อต พีจีสล็อต เว็บไซต์ตรงผู้ให้บริการเกมสล็อตออนไลน์ชั้นหนึ่ง ทกลอง เล่น ฟรี พร้อมโบนัส
ReplyDelete