Ktor 3.0 telah dikeluarkan, memperkenalkan peningkatan dan ciri yang ketara untuk pembangun membina aplikasi pelayan pelanggan tak segerak dalam Kotlin. Catatan blog ini akan meneroka definisi Ktor, perubahan yang dibawa oleh versi 3.0, kelebihannya, perbezaan daripada versi terdahulu dan cara ia berfungsi, diakhiri dengan coretan kod contoh.
Definisi Ktor
Ktor ialah rangka kerja yang direka untuk membina aplikasi tak segerak dalam Kotlin, membolehkan pembangun mencipta kedua-dua aplikasi sisi pelayan dan klien dengan cekap. Ia memanfaatkan coroutine Kotlin untuk menyediakan API yang mudah dan intuitif untuk mengendalikan permintaan dan respons HTTP, menjadikannya pilihan terbaik untuk perkhidmatan mikro dan aplikasi web. Sifat ringan dan fleksibiliti Ktor membolehkan pembangun menstrukturkan aplikasi mereka mengikut keperluan khusus mereka sambil menyepadukan dengan lancar dengan alatan Kotlin yang lain.
Ktor 3.0 memperkenalkan beberapa perubahan utama:
Ktor 3.0 menawarkan beberapa kelebihan:
Cara Ktor Berfungsi
Ktor beroperasi pada seni bina berasaskan coroutine yang membenarkan pemprosesan tak segerak permintaan dan respons. Ia menggunakan mekanisme penghalaan intuitif yang memudahkan pengurusan titik akhir HTTP. Pembangun boleh menentukan laluan menggunakan DSL (Bahasa Khusus Domain), menjadikannya mudah untuk membuat sambungan API RESTful atau WebSocket.
Contoh Kod
import io.ktor.application.* import io.ktor.response.* import io.ktor.routing.* import io.ktor.server.engine.* import io.ktor.server.netty.* fun main() { embeddedServer(Netty, port = 8000) { routing { get("/") { call.respondText("Hello, World!") } } }.start(wait = true) }
Dalam contoh ini:
Ktor membolehkan Perkongsian Sumber Silang Asal (CORS)
Jika pelayan anda sepatutnya mengendalikan permintaan silang asal, anda perlu memasang dan mengkonfigurasi pemalam CORS Ktor. Pemalam ini membolehkan anda mengkonfigurasi hos yang dibenarkan, kaedah HTTP, pengepala yang ditetapkan oleh pelanggan dan sebagainya.
Konfigurasi CORS biasa mungkin kelihatan seperti berikut:
install(CORS) { allowHost("0.0.0.0:5000") allowHeader(HttpHeaders.ContentType) }
Ia juga membenarkan respons mampatan menggunakan algoritma pengekodan seperti GZIP
Pemalam Mampatan membolehkan anda memampatkan kandungan keluar. Anda boleh menggunakan algoritma pemampatan yang berbeza, termasuk gzip dan deflate, nyatakan syarat yang diperlukan untuk memampatkan data (seperti jenis kandungan atau saiz tindak balas), atau malah memampatkan data berdasarkan parameter permintaan tertentu.
Penggunaan
Anda boleh mengkonfigurasi pemampatan dalam pelbagai cara: dayakan pengekod tertentu sahaja, tentukan keutamaan mereka, mampatkan hanya jenis kandungan tertentu dan sebagainya. Contohnya, Untuk mendayakan hanya pengekod tertentu, panggil fungsi sambungan yang sepadan:
install(Compression) { gzip() deflate() }
Coretan kod di bawah menunjukkan cara untuk memampatkan semua subjenis teks dan kod JavaScript menggunakan gzip:
install(Compression) { gzip { matchContentType( ContentType.Text.Any, ContentType.Application.JavaScript ) } }
Berikut ialah struktur fail apl ktor
Pergi ke ktor.com dan navigasi ke Penjana Projek Ktor dan mulakan dari sana.
Jika anda ingin mengetahui lebih lanjut tentang Ktor, layari laman web ini ktor.com
Kesimpulan
Ktor 3.0 menandakan kemajuan ketara dalam keupayaan rangka kerja, terutamanya dengan penghijrahannya ke kotlinx-io, metrik prestasi yang dipertingkatkan dan sokongan untuk ciri masa nyata seperti SSE. Penambahbaikan ini menjadikan Ktor pilihan yang mantap untuk pembangun yang ingin membina aplikasi tak segerak yang cekap dalam Kotlin. Apabila pembangun memindahkan projek sedia ada mereka atau memulakan projek baharu dengan Ktor 3.0, mereka akan mendapat manfaat daripada penyepaduan yang dipertingkatkan dengan alatan Kotlin dan ciri hebat yang ditawarkannya untuk pembangunan aplikasi moden.
Atas ialah kandungan terperinci Ktor -Buat aplikasi tak segerak dengan cara Kotlin!!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!