वेब विकास कई क्षेत्रों में से एक है जिसमें आप गो का उपयोग कर सकते हैं। कई कंपनियां और परियोजनाएं अपने वेब अनुप्रयोगों के बैकएंड पर गो का उपयोग करती हैं, मुख्यतः इसकी गति, उपयोग में आसानी और पैकेज पारिस्थितिकी तंत्र के लिए।
नेट/http पैकेज में अधिकांश कार्यक्षमता है जिसकी आपको गो में वेब एप्लिकेशन बनाने की आवश्यकता होगी। आप सुविधा संपन्न मानक पुस्तकालय से अन्य पैकेजों का उपयोग कर सकते हैं। एन्कोडिंग पैकेज निम्न-स्तरीय डेटा रूपांतरण को संभालता है और एचटीएमएल पैकेज आपको वेबपेजों के साथ इंटरैक्ट करने देता है।
इसके अलावा, गो का तृतीय-पक्ष पैकेज का पारिस्थितिकी तंत्र वेब विकास में सहायता के लिए अतिरिक्त सुविधाएँ प्रदान करता है।
1. जिन फ्रेमवर्क
जिन गो के सबसे लोकप्रिय वेब विकास पैकेजों में से एक है। गो में वेब एप्लिकेशन और माइक्रोसर्विसेज बनाने के लिए जिन एक उच्च प्रदर्शन वाला माइक्रो-फ्रेमवर्क है।
जिन तेज़ है और अंतर्निर्मित रेंडरिंग, मिडलवेयर और JSON सत्यापन कार्यक्षमता प्रदान करता है। इसमें आसान त्रुटि प्रबंधन और विस्तार क्षमता है। आप अपने जिन अनुप्रयोगों को OpenAPI3 युक्ति और स्वैगर के साथ दस्तावेज़ीकृत कर सकते हैं।
जिन में एक मार्टिनी जैसी एपीआई है, और यह परियोजना चालीस गुना तेज होने का दावा करती है। माइक्रोसर्विसेज के लिए, आप अनुरोध-प्रबंधन पाइपलाइनों को विकसित करने के लिए जिन के मॉड्यूलर घटकों का पुन: उपयोग कर सकते हैं।
आप इस आदेश के साथ जिन ढांचे को स्थापित कर सकते हैं:
जाओ github.com/gin-gonic/gin. प्राप्त करें
यहां बताया गया है कि जिन ढांचे के साथ एक साधारण अनुरोध समापन बिंदु कैसे सेट किया जाए।
आयात (
"github.com/gin-gonic/gin"
"लकड़ी का लट्ठा"
"नेट/http"
)समारोहमुख्य() {
राउटर: = जिन. चूक()राउटर। प्राप्त करें ("/ हैलो", समारोह(संदर्भ * जिन। संदर्भ) {
संदर्भ। जेएसओएन (http. स्थिति ठीक है, जिन। एच {"सफलता": "सफलतापूर्वक समापन बिंदु मारा"})
})
लकड़ी का लट्ठा। फैटलन (http. सुनो और सर्व करें (":8080", शून्य))
}
आप इसके साथ राउटर इंस्टेंस बना सकते हैं चूक की विधि जिन पैकेट। प्राप्त जीईटी अनुरोधों के लिए विधि पथ (समापन बिंदु) और एक हैंडलर फ़ंक्शन घोषणा में लेती है। यह उदाहरण फ़ंक्शन a. देता है 200 HTTP स्थिति कोड ग्राहक के लिए और प्रतिक्रिया निकाय में एक सफल JSON प्रतिक्रिया।
2. फाइबर फ्रेमवर्क
रेशा एक स्मृति-सुरक्षित है, एक्सप्रेसजेएस-जैसा धधकते हुए त्वरित. पर बनाया गया ढांचा फास्टhttp पैकेट। यह शानदार प्रदर्शन प्रदान करता है और शुरुआती और अनुभवी जावास्क्रिप्ट बैकएंड डेवलपर्स को लक्षित करता है।
फाइबर में अधिकांश कार्यक्षमता होती है जिसकी आपको बैकएंड फ्रेमवर्क में आवश्यकता होगी। यह रूटिंग, अनुरोध समूह, सत्यापन, टेम्प्लेटिंग, हुक, त्रुटि प्रबंधन, और बहुत कुछ संभालता है। फाइबर विस्तार योग्य है, और आप कस्टम एन्कोडर और डिकोडर का उपयोग करके फाइबर को तेज़ बना सकते हैं।
इस आदेश के साथ फाइबर ढांचे का नवीनतम संस्करण (v2) स्थापित करें:
जाओ github.com/gofiber/fiber/v2 प्राप्त करें
यहां बताया गया है कि आप फाइबर फ्रेमवर्क के साथ एक साधारण GET अनुरोध समापन बिंदु कैसे सेट कर सकते हैं।
आयात "github.com/gofiber/fiber/v2"
समारोहमुख्य() {
ऐप: = फाइबर। नया()अनुप्रयोग। प्राप्त करें ("/ हैलो", समारोह(सीटीएक्स * फाइबर. सीटीएक्स)गलती {
वापसी सीटीएक्स सेंडस्ट्रिंग ("हैलो")
})
लकड़ी का लट्ठा। घातक (ऐप। बात सुनो(":8080"))
}
नया विधि फाइबर ऐप का एक नया उदाहरण देता है। प्राप्त विधि स्थापित करने के लिए है प्राप्त अनुरोध। इस मामले में, /hello एंडपॉइंट स्ट्रिंग लौटाता है नमस्ते.
आपने पोर्ट लोकलहोस्ट पोर्ट पर सुनने के लिए ऐप सेट किया है 8080 साथ बात सुनो ऐप की विधि।
3. आईरिस फ्रेमवर्क
आईरिस एक क्रॉस-प्लेटफ़ॉर्म, कुशल, पूर्ण विकसित, अच्छी तरह से डिज़ाइन किया गया वेब ढांचा है। आप इसका उपयोग गो में उच्च प्रदर्शन करने वाले, पोर्टेबल एपीआई और वेब ऐप बनाने के लिए कर सकते हैं। फाइबर की तरह, आईरिस एक्सप्रेसजेएस आईरिस में कुछ डिज़ाइन पैटर्न को प्रेरित करता है।
आप Iris के साथ जल्दी से सर्वर रहित ऐप्स बना सकते हैं और उन्हें AWS, Netlify और कई अन्य सेवाओं पर तैनात कर सकते हैं। आईरिस पैकेज में एक सीएलआई ऐप है जिसका उपयोग आप आईरिस टेम्पलेट्स को लाइव रीलोड करने और अपने ऐप की निगरानी के लिए कर सकते हैं।
आईरिस पैकेज में ऐसी विशेषताएं हैं जो विकास को बेहद आसान बनाती हैं। आईरिस में एक सिनात्रा-जैसी एपीआई है जो लॉगिंग, रूटिंग, सत्र और वेबसाइट्स को पूरा करती है। यह जीआरपीसी, फ़ाइल सेवा, प्रमाणीकरण, प्राधिकरण और परीक्षण कार्यक्षमता का भी समर्थन करता है।
अपने गो मॉड्यूल में आइरिस फ्रेमवर्क स्थापित करने के लिए इस कमांड को अपने कार्यक्षेत्र के टर्मिनल में चलाएँ।
जाओ github.com/kataras/iris/v12@lastest get प्राप्त करें
यहां बताया गया है कि आप कैसे सेट अप कर सकते हैं प्राप्त स्थानीयहोस्ट पोर्ट पर चलने के लिए आईरिस ढांचे के साथ अनुरोध 8080.
आयात "github.com/kataras/iris/v12"
समारोहमुख्य() {
ऐप: = आईरिस। नया() // नया आईरिस उदाहरणअनुप्रयोग। हैंडल ("प्राप्त करें", "/ हैलो", समारोह(सीटीएक्स आईरिस। संदर्भ) {
_, गलती: = सीटीएक्स। जेएसओएन (आईरिस. नक्शा {"संदेश": "नमस्ते"})यदि गलती!= शून्य {
वापसी
}
})त्रुटि: = app. भागो (आईरिस। एडर (":8080"), आँख की पुतली। बिना सर्वर त्रुटि (आईरिस। ErrServerClosed))
यदि गलती!= शून्य {
वापसी
}
}
अनुप्रयोग वेरिएबल एक नए आईरिस ऐप का उदाहरण है। प्राप्त हैंडलर अनुरोध करने के लिए एक JSON संदेश देता है /hello रास्ता।
4. बीगो फ्रेमवर्क
बीगो वेब ऐप्स बनाने के लिए उपयोग में आसान, बुद्धिमान और उच्च प्रदर्शन करने वाला गो ढांचा है। बीगो मॉड्यूलर अनुप्रयोगों के निर्माण को सरल बनाता है। यह बिल्ट-इन ORM (ऑब्जेक्ट-रिलेशनल मैपर) और राउटर के साथ आता है, साथ में टेम्प्लेटिंग फंक्शनलिटी भी।
बीगो गो-विशिष्ट क्षमताओं को इंटरफेस और स्ट्रक्चर एम्बेडिंग के साथ एकीकृत करता है। इसमें एक महान एपीआई संरचना है, जो सत्र और परिनियोजन समर्थन और आंतरिककरण के साथ गति के लिए अनुकूलित है।
बीगो व्यापक है, और ओपेरा से लेकर हुआवेई, टेनसेंट और वीको तक कई कंपनियां उत्पादन में बीगो का उपयोग करती हैं।
आप इस कमांड का उपयोग अपने प्रोजेक्ट में बीगो फ्रेमवर्क को स्थापित करने के लिए कर सकते हैं।
जाओ get -u github.com/beego/beego/v2
यहां बताया गया है कि आप एक सरल कैसे सेट कर सकते हैं प्राप्त बीगो फ्रेमवर्क के साथ एपीआई एंडपॉइंट का अनुरोध करें।
आयात "github.com/beego/beego/v2/server/web"
प्रकार नियंत्रक उदाहरण struct {
वेब। नियंत्रक // बीगो ऐप के लिए प्रवेश बिंदु
}समारोह(नियंत्रक *नियंत्रक इंस्टेंस)प्राप्त() {
नियंत्रक सीटीएक्स। राइटस्ट्रिंग ("हैलो वर्ल्ड")
}
समारोहमुख्य() {
वेब। राउटर ("/ हैलो", और कंट्रोलर इंस्टेंस {}) // बीगो के साथ बढ़ते हुए
वेब। दौड़ना() // बीगो ऐप चल रहा है
}
नियंत्रक उदाहरण संरचना बीगो ऐप का प्रवेश बिंदु है। प्राप्त हैंडलर फ़ंक्शन में तर्क होता है a प्राप्त के लिए अनुरोध /hello समापन बिंदु यह प्रतिक्रिया के रूप में "हैलो वर्ल्ड" स्ट्रिंग देता है।
5. रहस्योद्घाटन फ्रेमवर्क
रेवेल यह वेब अनुप्रयोगों के निर्माण के लिए प्रदान किए गए लचीलेपन के लिए चमकता है। आप रेवेल की टाइप-सेफ रूटिंग का उपयोग कर सकते हैं, कंट्रोलर बना सकते हैं और उपयोग कर सकते हैं जाओ टेम्पलेट रहस्योद्घाटन के साथ।
रेवेल रूटिंग, आसान JSON एन्कोडिंग और डिकोडिंग, और सत्र-हैंडलिंग के लिए कार्यक्षमता प्रदान करता है। इसमें वेब ऐप्स के कैशिंग, डिबगिंग और परीक्षण को संभालने के कार्य भी शामिल हैं। Revel में आपके ऐप्स के लिए CLI बनाने के लिए CLI पैकेज है। आप रेवेल के साथ स्थिर फाइलों की सेवा कर सकते हैं और इसकी वेबसोकेट कार्यक्षमता के साथ चैट ऐप्स बना सकते हैं।
इस कमांड के साथ अपनी प्रोजेक्ट डायरेक्टरी में रेवेल फ्रेमवर्क स्थापित करें:
जाओ github.com/revel/revel प्राप्त करें
Revel ऐप सेट करना आसान है। यहाँ a. के लिए एक सरल हैंडलर फ़ंक्शन है प्राप्त रेवेल फ्रेमवर्क के साथ एंडपॉइंट का अनुरोध करें।
आयात (
"github.com/revel/revel"
)प्रकार नमूना struct { // सरल मॉडल संरचना
संदेश डोरी`जेसन: "संदेश" `
विवरण डोरी`जेसन: "विवरण" `
}प्रकार अनुप्रयोग struct {
*रहस्योद्घाटन। नियंत्रक // अनुरोधों के लिए प्रवेश बिंदु
}समारोह(ऐप ऐप)नमस्ते()रेवेल.परिणाम {
मॉडल: = मॉडल {
संदेश: "सफलता",
विवरण: "नमस्ते!, विश्व",
}
अनुप्रयोग। जवाब। कंटेंट टाइप = "एप्लिकेशन/जेसन"
वापसी अनुप्रयोग। रेंडरजसन (मॉडल)
}
अनुप्रयोग संरचना रेवेल ऐप का प्रवेश बिंदु है। आपके हैंडलर ऐप स्ट्रक्चर को लागू करेंगे। प्रतिक्रिया सामग्री प्रकार JSON है, और नमस्ते हैंडलर फ़ंक्शन एक एन्कोडेड JSON संरचना देता है।
राउटर और फ्रेमवर्क के बीच अंतर से सावधान रहें
आपको गो इकोसिस्टम में कई वेब पैकेज मिलेंगे, जिनमें से अधिकांश राउटर या फ्रेमवर्क हैं। राउटर HTTP प्रोटोकॉल के माध्यम से अनुरोध प्राप्त करने के लिए हैं।
राउटर के साथ काम करने के लिए आपको अतिरिक्त पैकेज की आवश्यकता होगी। इस ट्यूटोरियल में उन लोगों की तरह, अधिकांश फ्रेमवर्क में अन्य कार्यक्षमता के साथ-साथ अंतर्निहित राउटर शामिल हैं।