أعزائي أعضاء مجتمع Iris,
قد تكون قد لاحظت تراجعًا مؤخرًا في مستوى النشاط على مستودع Iris، ولكن هذا الهدوء له غاية مقصودة. خلال الأشهر الثمانية إلى التسعة الماضية، كنت أعمل بجد على الإعداد للإصدار الرئيسي الجديد من Iris، والذي يعتمد بشكل كامل على الأنواع العامة (Generics)، إلى جانب تقديم مجموعة من الميزات الجديدة، و التحسينات، والابتكارات. هذا التطوير يستند إلى خبرتي الممتدة على مدى ثماني سنوات في لغة Go، لضمان أن يستمر تطور Iris بما يتماشى مع احتياجاتكم المتنامية.
مع أطيب التحيات,
Gerasimos (Makis) Maropoulos
يوفّر أساسًا مرنًا، سهل الاستخدام، وذا تعبيرية رائعة لبناء موقعك الإلكتروني أو واجهة برمجة التطبيقات (API) القادمة.
تعرف على آراء اللآخرين حول Iris و امنح المشروع نجمة لدعم إمكاناته كمشروع مفتوح المصدر.
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.Use(iris.Compression)
app.Get("/", func(ctx iris.Context) {
ctx.HTML("Hello <strong>%s</strong>!", "World")
})
app.Listen(":8080")
}
كما قال أحد مطوري Go ذات مرة: Iris يغطي جميع الجوانب، وظل صامدًا وقويًا على مدار السنوات.
بعض الميزات التي يقدّمها Iris:
-
دعم كامل لبروتوكول HTTP/2 (يشمل Push وبيانات مضمنة)
-
البرمجيات الوسيطة (Middleware): Accesslog، Basicauth، CORS، gRPC، Anti-Bot hCaptcha، JWT، MethodOverride، ModRevision، Monitor، PPROF، Ratelimit، Anti-Bot reCaptcha، Recovery، RequestID، Rewrite
-
إصدار واجهات برمجة التطبيقات (API Versioning)
-
نموذج-عرض-تحكم (Model-View-Controller)
-
دعم كامل لبروتوكول WebSockets
-
دعم gRPC
-
دعم تلقائي لHTTPS
-
دعم مدمج لـ ngrok لعرض تطبيقك على الإنترنت بأسرع طريقة
-
موجّه (Router) فريد يدعم المسارات الديناميكية مع أنواع قياسية مثل: :uuid، :string، :int، وإمكانية إنشاء أنواعك الخاصة
-
ضغط البيانات
-
محركات العرض: HTML، Django، Handlebars، Pug/Jade وغيرها
-
إنشاء خادم ملفات خاص بك واستضافة خادم WebDAV
-
التخزين المؤقت
-
التوطين (i18n, sitemap)
-
الجلسات
-
استجابات غنية تشمل: HTML، نص، Markdown، XML، YAML، ثنائي، JSON، JSONP، Protocol Buffers، MessagePack، Content Negotiation، البث المتدفق، وأحداث مرسلة من الخادم والمزيد
-
ضغط الاستجابات (gzip, deflate, brotli, snappy, s2)
-
طلبات غنية (Rich Requests) تدعم: ربط استعلامات URL، الرؤوس، النماذج، النصوص، XML، YAML، ثنائي، JSON، التحقق، Protocol Buffers، MessagePack والمزيد
-
الحقن التلقائي: لمعماريات MVC، المعالجات، وواجهات برمجة التطبيقات
-
مجموعة اختبارات
-
والأهم... تحصل على دعم سريع وإجابات فورية منذ اليوم الأول وحتى الآن، على مدار ست سنوات متواصلة!
👑 الداعمين
بدعمكم، سنتمكن معًا من الارتقاء بتطوير الويب مفتوح المصدر وجعله أفضل للجميع!
المتطلب الوحيد هو لغة البرمجة Go.
$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v12.2.11
التثبيت على مشروع قائم
$ cd myapp
$ go get github.com/kataras/iris/v12@latest
تشغيل
$ go mod tidy -compat=1.23 # -compat="1.23" for windows.
$ go run .
يحتوي Iris على وثائق شاملة ومفصّلة تسهّل عليك البدء باستخدام الإطار.
للاطلاع على توثيق تقني أكثر تفصيلاً، يمكنك زيارة godocs. الخاص بنا، وللاطلاع على أمثلة قابلة للتنفيذ، يمكنك دائمًا زيارة المجلد الفرعي للمستودع ./_examples.
يمكنك طلب نسخة PDF أو الوصول إلى النسخة الإلكترونية من كتاب Iris (الإصدار الجديد v12.2.0+) اليوم والمساهمة في تطوير الإطار.
نسعد برؤية مساهمتك في تطوير إطار عمل Iris! لمزيد من التفاصيل حول كيفية المساهمة، يُرجى الاطلاع على ملف CONTRIBUTING.md.
إذا اكتشفت ثغرة أمنية في Iris، يُرجى إرسال بريد إلكتروني إلى [email protected]. سيتم التعامل مع جميع الثغرات الأمنية بسرعة.
هذا المشروع مرخّص بموجب رخصة BSD بثلاثة بنود, تمامًا كحال مشروع Go نفسه.
اسم المشروع "Iris" مستوحى من الأساطير اليونانية.