Vývoj webu je jednou z mnohých oblastí, v ktorých môžete Go použiť. Mnoho spoločností a projektov používa Go na backende svojich webových aplikácií, najmä pre jeho rýchlosť, jednoduchosť použitia a ekosystém balíkov.

The net/http obsahuje väčšinu funkcií, ktoré budete potrebovať na vytváranie webových aplikácií v Go. Môžete použiť iné balíky zo štandardnej knižnice bohatej na funkcie. The kódovanie balík spracováva nízkoúrovňovú konverziu dát a html balík umožňuje interakciu s webovými stránkami.

Okrem toho poskytuje ekosystém balíkov tretích strán Go ďalšie funkcie na podporu vývoja webu.

1. Gin Framework

Gin je jedným z najpopulárnejších balíkov na vývoj webu od Go. Gin je vysoko výkonný mikrorámec na vytváranie webových aplikácií a mikroslužieb v Go.

Gin je rýchly a poskytuje vstavané funkcie vykresľovania, midlvéru a overovania JSON. Môže sa pochváliť jednoduchou správou chýb a možnosťou rozšírenia. Svoje aplikácie Gin môžete zdokumentovať pomocou špecifikácie OpenAPI3 a swagger.

Gin obsahuje API podobné Martini a projekt tvrdí, že je štyridsaťkrát rýchlejší. V prípade mikroslužieb môžete znova použiť modulárne komponenty Gin na vývoj kanálov na spracovanie požiadaviek.

instagram viewer

Rámec Gin môžete nainštalovať pomocou tohto príkazu:

ísť získajte github.com/gin-gonic/gin

Tu je návod, ako nastaviť jednoduchý koncový bod požiadavky s rámcom Gin.

importovať (
"github.com/gin-gonic/gin"
"log"
"net/http"
)

funchlavné() {
router := gin. Predvolené ()

router. GET("/ahoj", func(kontext *gin. Kontext) {
kontext. JSON(http. Stav OK, gin. H{"success": "Úspešne ste dosiahli koncový bod"})
})

log. Fatalln (http. Počúvaj a podávaj(":8080", nula))
}

Inštanciu smerovača môžete vytvoriť pomocou súboru Predvolené metóda gin balík. The GET metóda pre požiadavky GET preberá cestu (koncový bod) a deklaráciu funkcie obsluhy. Táto vzorová funkcia vráti a 200 Stavový kód HTTP klientovi a úspešnú odpoveď JSON v tele odpovede.

2. Fiber Framework

Vláknina je pamäťovo bezpečný, ExpressJS rámec postavený na úžasne rýchlom fasthttp balík. Ponúka skvelý výkon a zameriava sa na začiatočníkov a skúsených vývojárov backendu Javascript.

Fiber obsahuje väčšinu funkcií, ktoré budete potrebovať v backendovom rámci. Zaoberá sa smerovaním, zoskupovaním požiadaviek, overovaním, vytváraním šablón, hákmi, spracovaním chýb a oveľa viac. Fiber je rozšíriteľné a môžete ho zrýchliť pomocou vlastného kódovača a dekodéra.

Nainštalujte najnovšiu verziu (v2) rámca Fiber pomocou tohto príkazu:

ísť získajte github.com/gofiber/fiber/v2

Tu je návod, ako môžete nastaviť jednoduchý koncový bod žiadosti GET s rámcom Fiber.

importovať "github.com/gofiber/fiber/v2"

funchlavné() {
app := vláknina. Nový()

aplikácie. Získajte("/ahoj", func(ctx *vlákno. Ctx)chyba {
vrátiť ctx. SendString("Ahoj")
})

log. Fatálne (aplik. Počúvajte(":8080"))
}

The Nový metóda vráti novú inštanciu aplikácie Fiber. The Získajte metóda je na nastavenie GET žiadosti. V tomto prípade, /hello endpoint vráti reťazec Ahoj.

Aplikáciu nastavíte tak, aby počúvala na porte localhost 8080 s Počúvaj metóda aplikácie.

3. Iris Framework

Iris je multiplatformový, efektívny, plnohodnotný a dobre navrhnutý webový rámec. Môžete ho použiť na vytváranie vysokovýkonných prenosných rozhraní API a webových aplikácií v Go. Rovnako ako Fiber, Iris is ExpressJS inšpiruje niektoré dizajnové vzory v Iris.

Pomocou Iris môžete rýchlo vytvárať aplikácie bez servera a nasadzovať ich na AWS, Netlify a mnoho ďalších služieb. Balík Iris obsahuje aplikáciu CLI, ktorú môžete použiť na živé načítanie šablón Iris a monitorovanie vašej aplikácie.

Balík Iris má funkcie, vďaka ktorým je vývoj mimoriadne jednoduchý. Iris má API podobné Sinatre, ktoré zabezpečuje protokolovanie, smerovanie, relácie a webové zásuvky. Podporuje tiež GRPC, poskytovanie súborov, autentifikáciu, autorizáciu a testovanie.

Spustite tento príkaz v termináli svojho pracovného priestoru a nainštalujte rámec Iris do modulov Go.

ísť získaj github.com/kataras/iris/v12@latest

Tu je návod, ako môžete nastaviť a GET požiada s rámcom Iris o spustenie na porte localhost 8080.

importovať "github.com/kataras/iris/v12"

funchlavné() {
aplikácia := dúhovka. Nový() // nová inštancia Iris

aplikácie. Handle("GET", "/ahoj", func(ctx dúhovka. Kontext) {
_, chyba := ctx. JSON(dúhovka. Mapa{"message": "ahoj"})

ak chyba!= nula {
vrátiť
}
})

chyba := aplikácia. Bežať (dúhovka. Addr(":8080"), dúhovka. WithoutServerError (iris. ErrServerClosed))

ak chyba!= nula {
vrátiť
}
}

The aplikácie premenná je inštanciou novej aplikácie Iris. The GET handler vráti správu JSON na vyžiadanie /hello trasu.

4. Beego Framework

Beego je ľahko použiteľný, inteligentný a vysoko výkonný rámec Go na vytváranie webových aplikácií. Beego zjednodušuje vytváranie modulárnych aplikácií. Dodáva sa so vstavaným ORM (objektovo-relačný mapovač) a smerovačom spolu s funkciou šablón.

Beego integruje funkcie špecifické pre Go s rozhraniami a vkladaním štruktúr. Má skvelú štruktúru API, optimalizovanú pre rýchlosť s podporou relácie a nasadenia a internalizáciou.

Beego je rozšírené a mnoho spoločností, od Opery po Huawei, Tencent a Weico, používa Beego vo výrobe.

Tento príkaz môžete použiť na inštaláciu Beego Framework do vášho projektu.

ísť get -u github.com/beego/beego/v2

Tu je návod, ako môžete nastaviť jednoduchý GET vyžiadanie koncového bodu API s rámcom Beego.

importovať "github.com/beego/beego/v2/server/web"

typu ControllerInstance štrukturovať {
web. Ovládač // vstupný bod pre aplikáciu beego
}

func(ovládač *ControllerInstance)Získajte() {
ovládač. Ctx. WriteString("ahoj svet")
}

funchlavné() {
web. Router("/hello", &ControllerInstance{}) // montáž pomocou beego
web. spustiť() // spustenie aplikácie beego
}

The ControllerInstance struct je vstupným bodom aplikácie Beego. The Získajte funkcia handler obsahuje logiku pre a GET žiadosť na /hello koncový bod. Ako odpoveď vráti reťazec „ahoj svet“.

5. Rámec Revel

Revel vyniká flexibilitou, ktorú poskytuje pri vytváraní webových aplikácií. Môžete použiť typovo bezpečné smerovanie Revel, zostaviť ovládače a používať Prejsť na šablóny s Revelom.

Revel poskytuje funkcie pre smerovanie, jednoduché kódovanie a dekódovanie JSON a spracovanie relácie. Obsahuje tiež funkcie na spracovanie vyrovnávacej pamäte, ladenia a testovania webových aplikácií. Revel má balík CLI na vytváranie CLI pre vaše aplikácie. Pomocou funkcie Revel môžete obsluhovať statické súbory a vytvárať chatovacie aplikácie pomocou funkcie Websocket.

Nainštalujte rámec Revel do adresára projektu pomocou tohto príkazu:

ísť získaj github.com/revel/revel

Nastavenie aplikácie Revel je jednoduché. Tu je jednoduchá funkcia obsluhy pre a GET požiadať o koncový bod s rámcom Revel.

importovať (
"github.com/revel/revel"
)

typu Model štrukturovať { // jednoduchá štruktúra modelu
Správa reťazec`json:"správa"`
Popis reťazec`json:"popis"`
}

typu App štrukturovať {
*baviť sa. Ovládač // vstupný bod pre požiadavky
}

func(aplikácia)Ahoj()kochať sa.Výsledok {
model := model{
Správa: "úspech",
Popis: "Ahoj!, Svet",
}

aplikácie. odpoveď. ContentType = "application/json"
vrátiť aplikácie. RenderJSON(model)
}

The App struct je vstupným bodom aplikácie Revel. Vaši obslužní pracovníci implementujú štruktúru aplikácie. Typ obsahu odpovede je JSON a Ahoj funkcia handler vracia zakódovanú štruktúru JSON.

Dajte si pozor na rozdiel medzi smerovačmi a rámcami

V ekosystéme Go nájdete veľa webových balíkov, z ktorých väčšinu tvoria smerovače alebo rámce. Smerovače slúžia na prijímanie požiadaviek prostredníctvom protokolu HTTP.

Na prácu so smerovačmi budete potrebovať ďalšie balíky. Podobne ako tie v tomto návode, väčšina rámcov obsahuje okrem iných funkcií aj vstavané smerovače.