مقدمة
Gin هو إطار عمل ويب مكتوب بلغة Go (Golang). يتميز بواجهة برمجية مشابهة لـ Martini مع أداء أفضل بكثير، أسرع بما يصل إلى 40 مرة بفضل httprouter. إذا كنت تبحث عن الأداء والإنتاجية الجيدة، فسوف تحب Gin.
في هذا القسم سنستعرض ما هو Gin، والمشاكل التي يحلها، وكيف يمكن أن يساعد مشروعك.
أو، إذا كنت مستعداً لاستخدام Gin في مشروعك، قم بزيارة البدء السريع.
الميزات
Section titled “الميزات”توجيه مبني على شجرة Radix، واستهلاك ذاكرة منخفض. لا يستخدم الانعكاس (Reflection). أداء واجهة برمجية يمكن التنبؤ به.
دعم الوسيطات
Section titled “دعم الوسيطات”يمكن معالجة طلب HTTP الوارد عبر سلسلة من الوسيطات والإجراء النهائي. على سبيل المثال: المسجّل، التفويض، GZIP، وأخيراً نشر رسالة في قاعدة البيانات.
خالٍ من الأعطال
Section titled “خالٍ من الأعطال”يستطيع Gin التقاط حالات الذعر (panic) التي تحدث أثناء طلب HTTP واستعادتها. بهذه الطريقة، سيكون خادمك متاحاً دائماً. كمثال - يمكنك أيضاً الإبلاغ عن حالة الذعر هذه إلى Sentry!
التحقق من JSON
Section titled “التحقق من JSON”يستطيع Gin تحليل والتحقق من صحة JSON في الطلب - مثل التحقق من وجود القيم المطلوبة.
تجميع المسارات
Section titled “تجميع المسارات”نظّم مساراتك بشكل أفضل. المسارات التي تتطلب تفويضاً مقابل التي لا تتطلب، إصدارات API مختلفة… بالإضافة إلى ذلك، يمكن تداخل المجموعات بلا حدود دون التأثير على الأداء.
إدارة الأخطاء
Section titled “إدارة الأخطاء”يوفر Gin طريقة مريحة لجمع جميع الأخطاء التي تحدث أثناء طلب HTTP. وفي النهاية، يمكن للوسيط كتابتها في ملف سجل، أو في قاعدة بيانات، أو إرسالها عبر الشبكة.
عرض مدمج
Section titled “عرض مدمج”يوفر Gin واجهة برمجية سهلة الاستخدام لعرض JSON وXML وHTML.
قابل للتوسع
Section titled “قابل للتوسع”إنشاء وسيط جديد سهل للغاية، فقط اطلع على الكود النموذجي.
Gin الإصدار 1. مستقر
Section titled “Gin الإصدار 1. مستقر”- موجّه بدون تخصيص ذاكرة.
- لا يزال أسرع موجّه وإطار عمل HTTP. من التوجيه إلى الكتابة.
- مجموعة كاملة من اختبارات الوحدة.
- مُجرّب في بيئات الإنتاج.
- واجهة برمجية مجمّدة، الإصدارات الجديدة لن تكسر الكود الخاص بك.