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

مقدمة

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

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

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

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

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

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

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

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

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

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

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

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