يعد تطوير الويب أحد المجالات العديدة التي يمكنك استخدام Go فيها. تستخدم العديد من الشركات والمشاريع Go على الواجهة الخلفية لتطبيقات الويب الخاصة بهم ، وذلك أساسًا من أجل سرعته وسهولة استخدامه ونظام الحزمة.

ال صافي / http تحتوي الحزمة على معظم الوظائف التي ستحتاج إليها لإنشاء تطبيقات ويب في Go. يمكنك استخدام حزم أخرى من المكتبة القياسية الغنية بالميزات. ال التشفير الحزمة تتعامل مع تحويل البيانات ذات المستوى المنخفض و لغة البرمجة تتيح لك الحزمة التفاعل مع صفحات الويب.

علاوة على ذلك ، توفر منظومة Go الخاصة بحزم الجهات الخارجية ميزات إضافية للمساعدة في تطوير الويب.

1. إطار الجن

شرك هي إحدى حزم تطوير الويب الأكثر شيوعًا في Go. Gin هو إطار عمل صغير عالي الأداء لبناء تطبيقات الويب والخدمات المصغرة في Go.

Gin سريع ويوفر وظائف عرض مضمنة وبرمجيات وسيطة والتحقق من صحة JSON. إنه يتميز بسهولة إدارة الأخطاء وإمكانية التمديد. يمكنك توثيق تطبيقات Gin الخاصة بك مع مواصفات OpenAPI3 و swagger.

يتميز Gin بواجهة برمجة تطبيقات تشبه Martini ، ويدعي المشروع أنه أسرع أربعين مرة. بالنسبة إلى الخدمات المصغرة ، يمكنك إعادة استخدام المكونات المعيارية لـ Gin لتطوير خطوط أنابيب معالجة الطلب.

instagram viewer

يمكنك تثبيت إطار عمل Gin باستخدام هذا الأمر:

يذهب احصل على github.com/gin-gonic/gin

فيما يلي كيفية إعداد نقطة نهاية طلب بسيطة باستخدام إطار عمل Gin.

يستورد (
"github.com/gin-gonic/gin"
"سجل"
"net / http"
)

funcرئيسي() {
جهاز التوجيه: = الجن. تقصير()

جهاز التوجيه. GET ("/ hello"، func(السياق * الجن. سياق) {
سياق الكلام. JSON (http. موافق ، الجن. H {"Success": "تم الوصول إلى نقطة النهاية بنجاح"})
})

سجل. فاتالن (http. ListenAndServe (":8080", لا شيء))
}

يمكنك إنشاء مثيل لجهاز التوجيه بامتداد تقصير طريقة شرك حزمة. ال احصل على تأخذ طريقة طلبات GET في المسار (نقطة النهاية) وإعلان دالة المعالج. ترجع هذه الدالة كمثال ملف 200 رمز حالة HTTP للعميل واستجابة JSON الناجحة في هيئة الاستجابة.

2. إطار الألياف

الأساسية هي ذاكرة آمنة ، ExpressJS مثل إطار مبني على السرعة الفائقة سريع حزمة. إنه يقدم أداءً رائعًا ويستهدف المبتدئين والمطورين ذوي الخبرة في جافا سكريبت.

يتميز Fiber بمعظم الوظائف التي ستحتاجها في إطار عمل الواجهة الخلفية. إنه يتعامل مع التوجيه ، وتجميع الطلبات ، والتحقق من الصحة ، والقوالب ، والخطافات ، ومعالجة الأخطاء ، وغير ذلك الكثير. الألياف قابلة للتمديد ، ويمكنك جعل الألياف أسرع باستخدام جهاز تشفير وفك تشفير مخصصين.

قم بتثبيت أحدث إصدار (v2) من إطار عمل Fiber باستخدام هذا الأمر:

يذهب احصل على github.com/gofiber/fiber/v2

إليك كيفية إعداد نقطة نهاية بسيطة لطلب GET باستخدام إطار عمل Fiber.

يستورد "github.com/gofiber/fiber/v2"

funcرئيسي() {
التطبيق: = الألياف. جديد()

تطبيق. احصل على ("/ hello"، func(ctx * ألياف. Ctx)خطأ {
إرجاع ctx. SendString ("مرحبًا")
})

سجل. فادح (app. استمع(":8080"))
}

ال جديد تقوم الطريقة بإرجاع مثيل جديد لتطبيق Fiber. ال احصل على الطريقة هي الإعداد احصل على الطلبات. في هذه الحالة ، فإن /hello تقوم نقطة النهاية بإرجاع السلسلة مرحبًا.

قمت بإعداد التطبيق للاستماع على منفذ المضيف المحلي 8080 مع ال استمع طريقة التطبيق.

3. إطار القزحية

Iris هو إطار عمل ويب متعدد المنصات وفعال وكامل وجيد التصميم. يمكنك استخدامه لإنشاء واجهات برمجة تطبيقات وتطبيقات ويب محمولة وعالية الأداء في Go. مثل Fiber ، فإن Iris هو ExpressJS الذي يلهم بعض أنماط التصميم في Iris.

يمكنك إنشاء تطبيقات بدون خادم بسرعة باستخدام Iris ونشرها على AWS و Netlify والعديد من الخدمات الأخرى. تحتوي حزمة Iris على تطبيق CLI يمكنك استخدامه لإعادة التحميل المباشر لقوالب Iris ومراقبة تطبيقك.

تحتوي حزمة Iris على ميزات تجعل التطوير أمرًا سهلاً للغاية. يحتوي Iris على واجهة برمجة تطبيقات تشبه سيناترا والتي تلبي احتياجات التسجيل والتوجيه والجلسات ومآخذ الويب. كما أنه يدعم وظائف GRPC وخدمة الملفات والمصادقة والترخيص والاختبار.

قم بتشغيل هذا الأمر في المحطة الطرفية لمساحة العمل الخاصة بك لتثبيت إطار عمل Iris على وحدات Go الخاصة بك.

يذهب احصل على github.com/kataras/iris/v12@lastest

إليك كيفية إعداد ملف احصل على طلب مع إطار عمل Iris للتشغيل على منفذ المضيف المحلي 8080.

يستورد "github.com/kataras/iris/v12"

funcرئيسي() {
التطبيق: = القزحية. جديد() // مثيل قزحية جديد

تطبيق. معالجة ("GET" ، "/ hello" ، func(ctx قزحية. سياق) {
_ ، يخطئ: = ctx. جسون (قزحية. تعيين {"message": "hello"})

إذا يخطئ! لا شيء {
إرجاع
}
})

يخطئ: = التطبيق. تشغيل (iris. العنوان (":8080") ، قزحية. WithoutServerError (iris. ErrServer مغلق))

إذا يخطئ! لا شيء {
إرجاع
}
}

ال تطبيق المتغير هو مثيل تطبيق Iris الجديد. ال احصل على يُرجع المعالج رسالة JSON لطلبها في ملف /hello طريق.

4. إطار Beego

بيجو هو إطار عمل Go سهل الاستخدام وذكي وعالي الأداء لبناء تطبيقات الويب. يجعل Beego بناء التطبيقات المعيارية أمرًا سهلاً. يأتي مزودًا بجهاز توجيه ORM (مخطط ارتباط كائني) وجهاز توجيه ، جنبًا إلى جنب مع وظائف القوالب.

يدمج Beego القدرات الخاصة بـ Go مع الواجهات وتضمين البنية. يحتوي على بنية API رائعة ، مُحسّنة للسرعة مع دعم الجلسة والنشر والاستيعاب.

Beego منتشر على نطاق واسع ، والعديد من الشركات ، من Opera إلى Huawei و Tencent و Weico ، تستخدم Beego في الإنتاج.

يمكنك استخدام هذا الأمر لتثبيت Beego Framework في مشروعك.

يذهب get -u github.com/beego/beego/v2

إليك كيفية إعداد ملف احصل على طلب نقطة نهاية API مع إطار عمل Beego.

يستورد "github.com/beego/beego/v2/server/web"

يكتب تحكم هيكل {
الويب. مراقب // نقطة دخول لتطبيق beego
}

func(تحكم * ControllerInstance)احصل على() {
مراقب. Ctx. WriteString ("Hello world")
}

funcرئيسي() {
الويب. جهاز التوجيه ("/ hello" و ControllerInstance {}) // تصاعد مع beego
الويب. يجري() // تشغيل تطبيق beego
}

ال تحكم الهيكل هو نقطة دخول تطبيق Beego. ال احصل على تحتوي وظيفة المعالج على منطق ملف احصل على طلب إلى /hello نقطة النهاية. تقوم بإرجاع سلسلة "hello world" كرد.

5. إطار Revel

عربد يضيء من أجل المرونة التي يوفرها لبناء تطبيقات الويب. يمكنك استخدام التوجيه الآمن من نوع Revel وإنشاء وحدات تحكم واستخدام ملفات اذهب إلى القوالب مع Revel.

يوفر Revel وظائف للتوجيه ، وتشفير وفك تشفير JSON بسهولة ، ومعالجة الجلسة. يتضمن أيضًا وظائف للتعامل مع التخزين المؤقت وتصحيح الأخطاء واختبار تطبيقات الويب. يحتوي Revel على حزمة CLI لبناء CLIs لتطبيقاتك. يمكنك تقديم ملفات ثابتة باستخدام Revel وإنشاء تطبيقات دردشة بوظيفة Websocket.

قم بتثبيت إطار عمل Revel في دليل المشروع الخاص بك باستخدام هذا الأمر:

يذهب احصل على github.com/revel/revel

من السهل إعداد تطبيق Revel. فيما يلي وظيفة معالج بسيطة لملف احصل على طلب نقطة نهاية مع إطار عمل Revel.

يستورد (
"github.com/revel/revel"
)

يكتب نموذج هيكل { // نموذج بسيط هيكل
رسالة سلسلة`json:" message "`
وصف سلسلة`json:" الوصف "`
}

يكتب تطبيق هيكل {
*عربد. مراقب // نقطة دخول الطلبات
}

func(تطبيق التطبيق)مرحبًا()عربد.نتيجة {
الموديل: = Model {
الرسالة: "نجاح" ،
الوصف: "Hello !، World" ،
}

تطبيق. إجابة. ContentType = "application / json"
إرجاع تطبيق. RenderJSON (نموذج)
}

ال تطبيق البنية هي نقطة دخول تطبيق Revel. سيقوم معالجاتك بتنفيذ بنية التطبيق. نوع محتوى الاستجابة هو JSON و مرحبًا ترجع الدالة handler بنية JSON المشفرة.

احذر من الفرق بين أجهزة التوجيه والأطر

ستجد العديد من حزم الويب في نظام Go ، ومعظمها عبارة عن أجهزة توجيه أو أطر عمل. الموجهات هي لتلقي الطلبات من خلال بروتوكول HTTP.

ستحتاج إلى حزم إضافية للعمل مع أجهزة التوجيه. مثل تلك الموجودة في هذا البرنامج التعليمي ، تشتمل معظم أطر العمل على أجهزة توجيه مدمجة جنبًا إلى جنب مع وظائف أخرى.