تخطَّ إلى المحتوى

مقدمة

Gin هو إطار عمل ويب مكتوب بلغة Go (Golang). يتميز بواجهة برمجية مشابهة لـ Martini مع أداء أفضل بكثير، أسرع بما يصل إلى 40 مرة بفضل httprouter. إذا كنت تبحث عن الأداء والإنتاجية الجيدة، فسوف تحب Gin.

في هذا القسم سنستعرض ما هو Gin، والمشاكل التي يحلها، وكيف يمكن أن يساعد مشروعك.

أو، إذا كنت مستعداً لاستخدام Gin في مشروعك، قم بزيارة البدء السريع.

الميزات

سريع

توجيه مبني على شجرة Radix، واستهلاك ذاكرة منخفض. لا يستخدم الانعكاس (Reflection). أداء واجهة برمجية يمكن التنبؤ به.

دعم الوسيطات

يمكن معالجة طلب HTTP الوارد عبر سلسلة من الوسيطات والإجراء النهائي. على سبيل المثال: المسجّل، التفويض، GZIP، وأخيراً نشر رسالة في قاعدة البيانات.

خالٍ من الأعطال

يستطيع Gin التقاط حالات الذعر (panic) التي تحدث أثناء طلب HTTP واستعادتها. بهذه الطريقة، سيكون خادمك متاحاً دائماً. كمثال - يمكنك أيضاً الإبلاغ عن حالة الذعر هذه إلى Sentry!

التحقق من JSON

يستطيع Gin تحليل والتحقق من صحة JSON في الطلب - مثل التحقق من وجود القيم المطلوبة.

تجميع المسارات

نظّم مساراتك بشكل أفضل. المسارات التي تتطلب تفويضاً مقابل التي لا تتطلب، إصدارات API مختلفة… بالإضافة إلى ذلك، يمكن تداخل المجموعات بلا حدود دون التأثير على الأداء.

إدارة الأخطاء

يوفر Gin طريقة مريحة لجمع جميع الأخطاء التي تحدث أثناء طلب HTTP. وفي النهاية، يمكن للوسيط كتابتها في ملف سجل، أو في قاعدة بيانات، أو إرسالها عبر الشبكة.

عرض مدمج

يوفر Gin واجهة برمجية سهلة الاستخدام لعرض JSON وXML وHTML.

قابل للتوسع

إنشاء وسيط جديد سهل للغاية، فقط اطلع على الكود النموذجي.

Gin الإصدار 1. مستقر

  • موجّه بدون تخصيص ذاكرة.
  • لا يزال أسرع موجّه وإطار عمل HTTP. من التوجيه إلى الكتابة.
  • مجموعة كاملة من اختبارات الوحدة.
  • مُجرّب في بيئات الإنتاج.
  • واجهة برمجية مجمّدة، الإصدارات الجديدة لن تكسر الكود الخاص بك.