Ktor Kotlin: पूर्ण गाइड उदाहरण सहित

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Ktor क्या है और इसकी आवश्यकता क्यों है?

Ktor एक asynchronous वेब फ्रेमवर्क है, जिसे JetBrains (IntelliJ IDEA और Kotlin के निर्माता) ने Kotlin भाषा में विकसित किया है। यह सर्वर एप्लिकेशन, HTTP क्लाइंट और माइक्रोसर्विसेज बनाने के लिए Kotlin कोरूटीन की शक्ति का उपयोग करता है। Ktor पूरी तरह से कोरूटीन पर आधारित है, जो इसे non-blocking, हल्का और अत्यधिक प्रदर्शनशील बनाता है।

Ktor का उपयोग क्यों करें? सबसे पहले, यह एक नेटिव Kotlin फ्रेमवर्क है जो भाषा के इकोसिस्टम के साथ पूरी तरह से एकीकृत होता है। दूसरा, Ktor मॉड्यूलर है: आप केवल उन्हीं कंपोनेंट्स को जोड़ते हैं जिनकी आपको आवश्यकता है (रूटिंग, सीरियलाइज़ेशन, ऑथेंटिकेशन, WebSockets आदि)। तीसरा, यह मल्टीप्लेटफॉर्म सपोर्ट करता है: एक ही क्लाइंट कोड JVM, Android, iOS और JavaScript पर चल सकता है। Ktor REST API, माइक्रोसर्विसेज और ऐसे HTTP क्लाइंट बनाने के लिए आदर्श है जो किसी भी प्लेटफॉर्म पर काम कर सकते हैं।

Ktor की इंस्टॉलेशन

Ktor एक लाइब्रेरी नहीं, बल्कि Gradle डिपेंडेंसी का एक सेट है। इंस्टॉलेशन Gradle (या Maven) बिल्ड सिस्टम के माध्यम से होती है। सबसे पहले एक नया Kotlin प्रोजेक्ट बनाएं और build.gradle.kts फ़ाइल में निम्नलिखित डिपेंडेंसी जोड़ें:

// build.gradle.kts
val ktorVersion = "2.3.12" // लेखन के समय नवीनतम वर्जन

plugins {
    kotlin("jvm") version "1.9.22"
    application
}

dependencies {
    // Ktor सर्वर
    implementation("io.ktor:ktor-server-core:$ktorVersion")
    implementation("io.ktor:ktor-server-netty:$ktorVersion") // Netty इंजन
    implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion") // JSON के लिए
    implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") // JSON सीरियलाइज़ेशन

    // Ktor क्लाइंट (यदि आवश्यक हो)
    implementation("io.ktor:ktor-client-core:$ktorVersion")
    implementation("io.ktor:ktor-client-cio:$ktorVersion") // CIO इंजन
    implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")

    // लॉगिंग
    implementation("ch.qos.logback:logback-classic:1.4.14")
}

application {
    mainClass.set("ApplicationKt") // एंट्री पॉइंट
}

इसके बाद डिपेंडेंसी डाउनलोड करने के लिए ./gradlew build कमांड चलाएं। यदि आप Maven का उपयोग कर रहे हैं, तो समान डिपेंडेंसी Ktor की आधिकारिक वेबसाइट पर मिल जाएंगी। त्वरित शुरुआत के लिए start.ktor.io पर प्रोजेक्ट जनरेटर का भी उपयोग कर सकते हैं।

कोड उदाहरण के साथ त्वरित शुरुआत

चलिए एक सरल HTTP सर्वर बनाते हैं जो रूट पथ पर GET रिक्वेस्ट पर "Hello, World!" का जवाब देता है।

import io.ktor.server.application.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
import io.ktor.server.response.*
import io.ktor.server.routing.*

fun main() {
    embeddedServer(Netty, port = 8080) {
        routing {
            get("/") {
                call.respondText("Hello, World!")
            }
        }
    }.start(wait = true)
}

इस कोड को रन करें। अब ब्राउज़र खोलें और http://localhost:8080 पर जाएं। आपको "Hello, World!" टेक्स्ट दिखाई देगा। बधाई हो, आपका पहला Ktor सर्वर चालू हो गया है!

Ktor के मुख्य मेथड और फंक्शन

नीचे Ktor के 10 प्रमुख मेथड/फंक्शन दिए गए हैं जिनका आप सबसे अधिक उपयोग करेंगे।

1. embeddedServer

क्या करता है: एक इनबिल्ट HTTP सर्वर बनाता और चलाता है। यह किसी भी Ktor एप्लिकेशन का मुख्य एंट्री पॉइंट है।

पैरामीटर:

  • engine — सर्वर इंजन (Netty, CIO, Jetty, Tomcat)।
  • port — सुनने के लिए पोर्ट (डिफ़ॉल्ट 80)।
  • host — होस्ट (डिफ़ॉल्ट 0.0.0.0)।
  • module — लैम्ब्डा फंक्शन जिसमें एप्लिकेशन कॉन्फ़िगर किया जाता है (रूट्स, प्लगइन्स)।

उदाहरण:

embeddedServer(Netty, port = 9000, host = "127.0.0.1") {
    // एप्लिकेशन सेटअप

अनुशंसाएँ