إيريس هو إطار تطبيقات الويب المكتوب بلغة الجو لامع وبسيط ومتكامل وفعّال للغاية.

يوفر أساسًا معبرًا وسهل الاستخدام لواجهة موقع الويب أو التطبيق التالي.

ميزات إيريس

  • HTTP/2 (دفع البيانات، حتى البيانات المضمَّنة)
  • وسيطات (سجل الوصول، المصادقة الأساسية، CORS، gRPC، Anti-Bot hCaptcha، JWT، MethodOverride، ModRevision، Monitor، PPROF، Ratelimit، Anti-Bot reCaptcha، Recovery، RequestID، Rewrite)
  • إصدار واجهة برمجة تطبيقات (API)
  • Model-View-Controller
  • Websockets
  • gRPC
  • HTTPS تلقائي
  • دعم ngrok المدمج لنشر تطبيقك على الويب بأسرع طريقة ممكنة
  • موجِّه فريد مع معلمات مسار ديناميكية، مدعمة لأنواع البيانات القياسية مثل :uuid و :string و :int وإنشاء الموجِّه المخصص
  • ضغط
  • مُحرِّكات العرض (HTML، Django، Handlebars، Pug/Jade، إلخ)
  • إنشاء خادم ملفات خاص واستضافة خادمك الخاص لـ WebDAV
  • تخزين مؤقت
  • توطين (i18n، خريطة الموقع)
  • جلسات
  • استجابات غنية (HTML، نص، Markdown، XML، YAML، ثنائي، JSON، JSONP، Protocol Buffers، MessagePack، تفاوض المحتوى، تيار، أحداث مرسلة من الخادم، إلخ)
  • ضغط الاستجابة (gzip، deflate، brotli، snappy، s2)
  • طلبات غنية (ربط استعلام URL، رؤوس، نماذج، نص، XML، YAML، ثنائي، JSON، التحقق، Protocol Buffers، MessagePack، إلخ)
  • حقن التبعية (MVC، معالجون، موجِّهات واجهة برمجة تطبيقات)
  • مجموعة الاختبارات

عرض توضيحي

package main

// استيراد الحزمة
import "github.com/kataras/iris/v12"

func main() {
  // تعريف مثيل إيريس
  app := iris.New()
  // استخدام وسيط ضغط gzip
  app.Use(iris.Compression)

  // إعداد الموجه
  app.Get("/", func(ctx iris.Context) {
    ctx.HTML("مرحبًا <strong>%s</strong>!", "العالم")
  })

  // الاستماع على المنفذ
  app.Listen(":8080")
}

اختبار الأداء

إرسال 200,000 طلب مع معلمات ديناميكية كأعداد صحيحة، إرسال JSON كجسم الطلب، واستقبال JSON كاستجابة.

الإطار لغة التطوير الطلبات في الثانية الكمون النواة وقت الاستكمال
إيريس جو 238,954 521.69us 64.15MB 0.84s
جين جو 229,665 541.96us 62.86MB 0.87s
تشي جو 228,072 545.78us 62.61MB 0.88s
إيكو جو 224,491 553.84us 61.70MB 0.89s
مارتيني جو 198,166 627.46us 54.47MB 1.01s
كيستريل سي شارب 163,486 766.90us 47.42MB 1.23s
بوفالو جو 102,478 1.22ms 28.14MB 1.95s
كوا جافاسكربت 48,425 2.56ms 15.39MB 4.14s
إكسبرس جافاسكربت 23,622 5.25ms 9.04MB 8.41s