عن المشروع
Ktor هو إطار عمل غير متزامن لإنشاء الخدمات المصغرة وتطبيقات الويب وغيرها، مكتوب بالكامل بلغة Kotlin. وهو يركز على أقل جهد ممكن والمرونة، مما يسمح للمطورين ببناء تطبيقات متصلة دون فرض قيود تقنية صارمة.
**الميزات الرئيسية:**
- **غير متحيز:** لا يفرض Ktor خيارات محددة للتسجيل أو القوالب أو المراسلة أو الاستمرارية أو التسلسل أو حقن التبعيات. يتم تثبيت الميزات عبر آلية اعتراض موحدة، مما يتيح خطوط أنابيب عشوائية.
- **غير متزامن:** مبني على Kotlin coroutines، يوفر Ktor نموذج برمجة غير متزامن سهل الاستخدام. تستخدم جميع تطبيقات المضيف إدخال/إخراج غير متزامن لتجنب حجب الخيوط.
- **قابل للاختبار:** يمكن تشغيل التطبيقات في بيئة اختبار خاصة تحاكي خادم ويب دون شبكة، مما يبسط الاختبار. كما يتم دعم اختبارات التكامل مع خوادم مدمجة حقيقية.
- **مرونة الاستضافة:** يدعم الاستضافة المستقلة مع Netty أو Jetty، وكذلك حاويات Servlet بإصدار Servlet 3.0+ (مثل Tomcat). يمكن إضافة مضيفين إضافيين عبر واجهة برمجة تطبيقات استضافة موحدة.
- **Kotlin DSL:** واجهات برمجة التطبيقات هي في الأساس استدعاءات دوال مع lambdas، مما يجعل الكود تعريفيًا وقابلًا للتركيب.
**البدء:**
أضف التبعية `io.ktor:ktor-server-netty` إلى مشروع Gradle أو Maven، ثم أنشئ `Application` مع التوجيه والميزات. يبسط Ktor Gradle Plugin التكوين والتشغيل والنشر. يبدأ مثال أساسي خادمًا مدمجًا على المنفذ 8080 يستجيب بـ "Hello, world!".
**التوثيق والدعم:**
قم بزيارة [ktor.io](https://ktor.io) للحصول على بدايات سريعة وأدلة مفصلة. يتم تتبع المشكلات وطلبات الميزات على JetBrains YouTrack، مع دعم المجتمع على StackOverflow وقناة Ktor على Kotlin Slack. يجب الإبلاغ عن الثغرات الأمنية عبر عملية الإفصاح المسؤولة من JetBrains.
**حالة المشروع:**
Ktor هو منتج رسمي من JetBrains، ويتم تطويره بشكل أساسي بواسطة JetBrains مع مساهمات المجتمع. وهو مستوحى من إطاري عمل Kotlin المهملين Wasabi وKara. المشروع مرخص بموجب Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.