منصوبے کے بارے میں
Ktor ایک غیر متزامن فریم ورک ہے جو مائیکرو سروسز، ویب ایپلیکیشنز اور مزید بنانے کے لیے ہے، جو مکمل طور پر Kotlin میں لکھا گیا ہے۔ یہ کم سے کم محنت اور لچک پر زور دیتا ہے، جس سے ڈویلپرز سخت ٹیکنالوجی پابندیوں کے بغیر منسلک ایپلیکیشنز بنا سکتے ہیں۔
**اہم خصوصیات:**
- **غیر جانبدارانہ:** Ktor لاگنگ، ٹیمپلیٹنگ، میسجنگ، پرسسٹنس، سیریلائزیشن، یا ڈیپنڈنسی انجیکشن کے لیے انتخاب نہیں تھوپتا۔ خصوصیات ایک متحد انٹرسیپشن میکانزم کے ذریعے انسٹال کی جاتی ہیں، جو صوابدیدی پائپ لائنز کو ممکن بناتی ہیں۔
- **غیر متزامن:** Kotlin coroutines پر بنایا گیا، Ktor ایک آسان استعمال غیر متزامن پروگرامنگ ماڈل فراہم کرتا ہے۔ تمام ہوسٹ امپلیمنٹیشنز غیر متزامن I/O استعمال کرتی ہیں تاکہ تھریڈ بلاکنگ سے بچا جا سکے۔
- **قابلِ ٹیسٹ:** ایپلیکیشنز ایک خصوصی ٹیسٹ ماحول میں چل سکتی ہیں جو نیٹ ورکنگ کے بغیر ویب سرور کی نقل کرتا ہے، جس سے ٹیسٹنگ آسان ہو جاتی ہے۔ حقیقی ایمبیڈڈ سرورز کے ساتھ انٹیگریشن ٹیسٹ بھی سپورٹ ہیں۔
- **ہوسٹنگ کی لچک:** Netty یا Jetty کے ساتھ اسٹینڈalone ہوسٹنگ، نیز Servlet 3.0+ API (مثلاً Tomcat) کے ساتھ سرولیٹ کنٹینرز کی سپورٹ۔ اضافی ہوسٹس ایک متحد ہوسٹنگ API کے ذریعے شامل کی جا سکتی ہیں۔
- **Kotlin DSL:** APIs بنیادی طور پر لیمبڈاز کے ساتھ فنکشن کالز ہیں، جو کوڈ کو اعلانیہ اور کمپوز ایبل بناتی ہیں۔
**شروعات:**
اپنے Gradle یا Maven پروجیکٹ میں `io.ktor:ktor-server-netty` ڈیپنڈنسی شامل کریں، پھر روٹنگ اور خصوصیات کے ساتھ ایک `Application` بنائیں۔ Ktor Gradle Plugin کنفیگریشن، چلانے، اور ڈیپلائمنٹ کو آسان بناتا ہے۔ ایک بنیادی مثال پورٹ 8080 پر ایمبیڈڈ سرور شروع کرتی ہے جو "Hello, world!" کے ساتھ جواب دیتی ہے۔
**دستاویزات اور سپورٹ:**
کوئیک اسٹارٹس اور تفصیلی گائیڈز کے لیے [ktor.io](https://ktor.io) ملاحظہ کریں۔ مسائل اور فیچر درخواستیں JetBrains YouTrack پر ٹریک کی جاتی ہیں، کمیونٹی سپورٹ StackOverflow اور Kotlin Slack Ktor چینل پر دستیاب ہے۔ سیکیورٹی کمزوریاں JetBrains کے ذمہ دار انکشاف کے عمل کے ذریعے رپورٹ کی جانی چاہئیں۔
**پروجیکٹ کی حیثیت:**
Ktor ایک سرکاری JetBrains پروڈکٹ ہے، جو بنیادی طور پر JetBrains کی طرف سے کمیونٹی شراکتوں کے ساتھ تیار کیا جاتا ہے۔ یہ متروک Kotlin فریم ورکس Wasabi اور Kara سے متاثر ہے۔ پروجیکٹ Apache License 2.0 کے تحت لائسنس یافتہ ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.