Vývoj webu je jednou z mnoha oblastí, ve kterých můžete Go použít. Mnoho společností a projektů používá Go na backendu svých webových aplikací, především pro jeho rychlost, snadnost použití a ekosystém balíčků.
The net/http obsahuje většinu funkcí, které budete potřebovat k vytváření webových aplikací v Go. Můžete použít další balíčky ze standardní knihovny s bohatými funkcemi. The kódování balíček zpracovává nízkoúrovňovou konverzi dat a html balíček umožňuje interakci s webovými stránkami.
Kromě toho poskytuje ekosystém balíčků třetích stran Go další funkce, které napomáhají vývoji webu.
1. Gin Framework
Gin je jedním z nejoblíbenějších balíčků pro vývoj webu od Go. Gin je vysoce výkonný mikrorámec pro vytváření webových aplikací a mikroslužeb v Go.
Gin je rychlý a poskytuje vestavěné funkce pro vykreslování, middleware a ověřování JSON. Může se pochlubit snadnou správou chyb a rozšiřitelností. Své aplikace Ginu můžete dokumentovat pomocí specifikace OpenAPI3 a chvástání.
Gin obsahuje API podobné Martini a projekt tvrdí, že je čtyřicetkrát rychlejší. U mikroslužeb můžete znovu použít modulární komponenty Ginu k vývoji kanálů pro zpracování požadavků.
Gin framework můžete nainstalovat pomocí tohoto příkazu:
jít stáhněte si github.com/gin-gonic/gin
Zde je návod, jak nastavit jednoduchý koncový bod požadavku s rámcem Gin.
import (
"github.com/gin-gonic/gin"
"log"
"net/http"
)funchlavní() {
router := gin. Výchozí()router. GET("/ahoj", func(kontext *gin. Kontext) {
kontext. JSON(http. Stav OK, gin. H{"success": "Úspěšně jste dosáhli koncového bodu"})
})
log. Fatalln (http. ListenAndServe(":8080", nula))
}
Instanci routeru můžete vytvořit pomocí Výchozí metoda gin balík. The DOSTAT metoda pro požadavky GET přebírá cestu (koncový bod) a deklaraci funkce handleru. Tato ukázková funkce vrací a 200 Stavový kód HTTP klientovi a úspěšnou odpověď JSON v těle odpovědi.
2. Fiber Framework
Vlákno je paměťově bezpečná, jako ExpressJS rámec postavený na neuvěřitelně rychlém rychlehttp balík. Nabízí skvělý výkon a zaměřuje se na začátečníky i zkušené vývojáře backendu Javascript.
Fiber obsahuje většinu funkcí, které budete potřebovat v backendovém rámci. Zvládá směrování, seskupování požadavků, ověřování, šablonování, háky, zpracování chyb a mnoho dalšího. Fiber je rozšiřitelný a můžete jej zrychlit pomocí vlastního kodéru a dekodéru.
Nainstalujte nejnovější verzi (v2) frameworku Fiber pomocí tohoto příkazu:
jít získejte github.com/gofiber/fiber/v2
Zde je návod, jak můžete nastavit jednoduchý koncový bod požadavku GET s rámcem Fiber.
import "github.com/gofiber/fiber/v2"
funchlavní() {
aplikace := vláknina. Nový()aplikace. Získejte("/ahoj", func(ctx *vlákno. Ctx)chyba {
vrátit se ctx. SendString("Ahoj")
})
log. Fatální (app. Poslouchat(":8080"))
}
The Nový metoda vrací novou instanci aplikace Fiber. The Dostat metoda je pro nastavení DOSTAT žádosti. V tomto případě je /hello endpoint vrací řetězec Ahoj.
Aplikaci nastavíte tak, aby naslouchala na portu localhost 8080 s Poslouchat metoda aplikace.
3. Rámec Iris
Iris je multiplatformní, efektivní, plnohodnotný a dobře navržený webový framework. Můžete jej použít k vytváření vysoce výkonných přenosných rozhraní API a webových aplikací v Go. Stejně jako Fiber, Iris is ExpressJS inspiruje některé designové vzory v Iris.
Pomocí Iris můžete rychle vytvářet aplikace bez serveru a nasazovat je na AWS, Netlify a mnoho dalších služeb. Balíček Iris obsahuje aplikaci CLI, kterou můžete použít pro živé načítání šablon Iris a sledování vaší aplikace.
Balíček Iris má funkce, které velmi usnadňují vývoj. Iris má API podobné Sinatře, které zajišťuje protokolování, směrování, relace a Websockets. Podporuje také funkce GRPC, podávání souborů, ověřování, autorizace a testování.
Spusťte tento příkaz v terminálu svého pracovního prostoru a nainstalujte rámec Iris do modulů Go.
jít získejte github.com/kataras/iris/v12@latest
Zde je návod, jak můžete nastavit a DOSTAT požadavek s rámcem Iris na spuštění na portu localhost 8080.
import "github.com/kataras/iris/v12"
funchlavní() {
aplikace := duhovka. Nový() // nová instance Irisaplikace. Handle("GET", "/ahoj", func(ctx duhovka. Kontext) {
_, chyba := ctx. JSON(duhovka. Mapa{"message": "ahoj"})-li chyba!= nula {
vrátit se
}
})chyba := aplikace. Běh (iris. Addr(":8080"), duhovka. WithoutServerError (iris. ErrServerClosed))
-li chyba!= nula {
vrátit se
}
}
The aplikace proměnná je instancí nové aplikace Iris. The DOSTAT handler vrátí zprávu JSON k požadavku na /hello trasa.
4. Beego Framework
Beego je snadno použitelný, inteligentní a vysoce výkonný rámec Go pro vytváření webových aplikací. Beego usnadňuje vytváření modulárních aplikací. Dodává se s vestavěným ORM (objektově-relační mapovač) a směrovačem spolu s funkcí šablonování.
Beego integruje funkce specifické pro Go s rozhraními a vkládáním struktur. Má skvělou strukturu API, optimalizovanou pro rychlost s podporou relace a nasazení a internalizací.
Beego je rozšířené a mnoho společností, od Opery po Huawei, Tencent a Weico, používá Beego ve výrobě.
Tento příkaz můžete použít k instalaci Beego Framework do vašeho projektu.
jít get -u github.com/beego/beego/v2
Zde je návod, jak můžete nastavit jednoduchý DOSTAT vyžádat koncový bod API s rámcem Beego.
import "github.com/beego/beego/v2/server/web"
typ ControllerInstance strukturovat {
web. Ovladač // vstupní bod pro aplikaci beego
}func(řadič *ControllerInstance)Dostat() {
ovladač. Ctx. WriteString("ahoj světe")
}
funchlavní() {
web. Router("/hello", &ControllerInstance{}) // montáž pomocí beego
web. Běh() // spuštěná aplikace beego
}
The ControllerInstance struct je vstupním bodem aplikace Beego. The Dostat funkce handler obsahuje logiku pro a DOSTAT žádost na /hello koncový bod. Jako odpověď vrací řetězec „hello world“.
5. Rámec Revel
Hýřit září flexibilitou, kterou poskytuje pro vytváření webových aplikací. Můžete použít typově bezpečné směrování Revel, sestavovat ovladače a používat Go šablony s Revelem.
Revel poskytuje funkce pro směrování, snadné kódování a dekódování JSON a zpracování relací. Obsahuje také funkce pro zpracování mezipaměti, ladění a testování webových aplikací. Revel má balíček CLI pro vytváření CLI pro vaše aplikace. Pomocí funkce Revel můžete obsluhovat statické soubory a vytvářet chatovací aplikace pomocí funkce Websocket.
Nainstalujte framework Revel do adresáře projektu pomocí tohoto příkazu:
jít získat github.com/revel/revel
Nastavení aplikace Revel je snadné. Zde je jednoduchá manipulační funkce pro a DOSTAT požadovat koncový bod s rámcem Revel.
import (
"github.com/revel/revel"
)typ Modelka strukturovat { // jednoduchá struktura modelu
Zpráva tětiva`json:"zpráva"`
Popis tětiva`json:"popis"`
}typ Aplikace strukturovat {
*hýřit. Ovladač // vstupní bod pro požadavky
}func(aplikační aplikace)Ahoj()hýřit.Výsledek {
model := model{
Zpráva: "úspěch",
Popis: "Ahoj, světe",
}
aplikace. Odezva. ContentType = "application/json"
vrátit se aplikace. RenderJSON(model)
}
The Aplikace struct je vstupním bodem aplikace Revel. Vaše manipulátory implementují strukturu aplikace. Typ obsahu odpovědi je JSON a Ahoj funkce handler vrací zakódovanou strukturu JSON.
Dejte si pozor na rozdíl mezi routery a frameworky
V ekosystému Go najdete mnoho webových balíčků, z nichž většinu tvoří routery nebo frameworky. Směrovače jsou určeny pro příjem požadavků prostřednictvím protokolu HTTP.
Pro práci s routery budete potřebovat další balíčky. Stejně jako ty v tomto tutoriálu obsahuje většina frameworků vedle dalších funkcí vestavěné směrovače.