Verkkokehitys on yksi monista aloista, joilla voit käyttää Goa. Monet yritykset ja projektit käyttävät Goa verkkosovellustensa taustalla pääasiassa sen nopeuden, helppokäyttöisyyden ja pakettiekosysteemin vuoksi.

The net/http paketissa on suurin osa toiminnoista, joita tarvitset verkkosovellusten rakentamiseen Gossa. Voit käyttää muita paketteja monipuolisesta vakiokirjastosta. The koodaus paketti käsittelee matalan tason datamuunnoksia ja html paketin avulla voit olla vuorovaikutuksessa verkkosivujen kanssa.

Tämän lisäksi Go: n kolmannen osapuolen pakettien ekosysteemi tarjoaa lisäominaisuuksia verkkokehityksen avuksi.

1. Gin-kehys

Gin on yksi Go: n suosituimmista verkkokehityspaketeista. Gin on erittäin suorituskykyinen mikrokehys verkkosovellusten ja mikropalvelujen rakentamiseen Gossa.

Gin on nopea ja tarjoaa sisäänrakennetun renderöinti-, väliohjelmisto- ja JSON-tarkistustoiminnot. Siinä on helppo virheenhallinta ja laajennettavuus. Voit dokumentoida Gin-sovelluksesi OpenAPI3-spesifikaatioilla ja swaggerilla.

instagram viewer

Ginissä on Martinin kaltainen API, ja projekti väittää olevansa neljäkymmentä kertaa nopeampi. Mikropalveluissa voit käyttää uudelleen Ginin modulaarisia komponentteja pyyntöjenkäsittelyputkistojen kehittämiseen.

Voit asentaa Gin-kehyksen tällä komennolla:

mennä hanki github.com/gin-gonic/gin

Näin voit määrittää yksinkertaisen pyynnön päätepisteen Gin-kehyksen avulla.

tuonti (
"github.com/gin-gonic/gin"
"Hirsi"
"net/http"
)

funcpää() {
reititin := gin. Oletus()

reititin. GET("/hei", func(konteksti *gin. konteksti) {
yhteydessä. JSON(http. Tila OK, gin. H{"onnistui": "Päätepisteeseen osuminen onnistui"})
})

Hirsi. Fatalln (http. ListenAndServe(":8080", nolla))
}

Voit luoda reitittimen esiintymän komennolla Oletus menetelmä gin paketti. The SAADA GET-pyyntöjen menetelmä ottaa polun (päätepisteen) ja käsittelijän funktion ilmoituksen. Tämä esimerkkifunktio palauttaa a 200 HTTP-tilakoodi asiakkaalle ja onnistunut JSON-vastaus vastaustekstissä.

2. Kuitukehys

Kuitu on muistiturvallinen, ExpressJS: n kaltainen kehykset on rakennettu räjähtävän nopeasti nopeahttp paketti. Se tarjoaa erinomaisen suorituskyvyn ja on suunnattu aloittelijoille ja kokeneille Javascript-taustakehittäjille.

Fiber sisältää suurimman osan toiminnoista, joita tarvitset taustajärjestelmässä. Se käsittelee reitityksen, pyyntöjen ryhmittelyn, validoinnin, mallintamisen, koukut, virheiden käsittelyn ja paljon muuta. Fiber on laajennettavissa, ja voit tehdä Fiberistä nopeamman mukautetun lähettimen ja dekooderin avulla.

Asenna Fiber-kehyksen uusin versio (v2) tällä komennolla:

mennä Hanki github.com/gofiber/fiber/v2

Näin voit määrittää yksinkertaisen GET-pyyntöpäätepisteen Fiber-kehyksen avulla.

tuonti "github.com/gofiber/fiber/v2"

funcpää() {
sovellus := kuitu. Uusi()

sovellus. Get("/hei", func(ctx *kuitu. Ctx)virhe {
palata ctx. SendString("Hei")
})

Hirsi. Tappava (app. Kuunnella(":8080"))
}

The Uusi menetelmä palauttaa Fiber-sovelluksen uuden esiintymän. The Saada menetelmä on asettamiseen SAADA pyynnöt. Tässä tapauksessa /hello päätepiste palauttaa merkkijonon Hei.

Määrität sovelluksen kuuntelemaan portin localhost-porttia 8080 kanssa Kuunnella sovelluksen menetelmä.

3. Iris-kehys

Iris on monialustainen, tehokas, täysimittainen ja hyvin suunniteltu verkkokehys. Voit käyttää sitä tehokkaiden, kannettavien sovellusliittymien ja verkkosovellusten rakentamiseen Gossa. Kuten Fiber, Iris is ExpressJS inspiroi joitain Iriksen suunnittelukuvioita.

Voit rakentaa palvelimettomia sovelluksia nopeasti Irisin avulla ja ottaa ne käyttöön AWS: ssä, Netlifyssa ja monissa muissa palveluissa. Iris-paketissa on CLI-sovellus, jota voit käyttää Iris-mallien reaaliaikaiseen lataamiseen ja sovelluksesi valvontaan.

Iris-paketissa on ominaisuuksia, jotka tekevät kehityksestä erittäin helppoa. Irisilla on Sinatran kaltainen API, joka palvelee kirjaamista, reititystä, istuntoja ja Websocketteja. Se tukee myös GRPC-, tiedostojen huolto-, todennus-, valtuutus- ja testaustoimintoja.

Suorita tämä komento työtilasi päätteessä asentaaksesi Iris-kehyksen Go-moduuleihisi.

mennä hanki github.com/kataras/iris/v12@lastest

Näin voit määrittää a SAADA Pyydä Iris-kehyksen kanssa toimimaan localhost-portissa 8080.

tuonti "github.com/kataras/iris/v12"

funcpää() {
sovellus := iiris. Uusi() // uusi Iris-instanssi

sovellus. Handle("GET", "/hello", func(ctx iris. konteksti) {
_, err := ctx. JSON(iiris. Kartta{"viesti": "hei"})

jos virhe! = nolla {
palata
}
})

virhe := sovellus. Juokse (iiris. Adr(":8080"), iiris. WithoutServerError (iris. ErrServerClosed))

jos virhe! = nolla {
palata
}
}

The sovellus muuttuja on uuden Iris-sovelluksen esiintymä. The SAADA Käsittelijä palauttaa JSON-sanoman pyydettäväksi /hello reitti.

4. Beego-kehys

Beego on helppokäyttöinen, älykäs ja erittäin suorituskykyinen Go-kehys verkkosovellusten rakentamiseen. Beego tekee modulaaristen sovellusten rakentamisesta helppoa. Siinä on sisäänrakennettu ORM (object-relational mapper) ja reititin sekä mallitoiminto.

Beego integroi Go-spesifiset ominaisuudet käyttöliittymiin ja rakenteen upotukseen. Siinä on loistava API-rakenne, joka on optimoitu nopeuteen istuntojen ja käyttöönottotuen ja sisäistyksen avulla.

Beego on laajalle levinnyt, ja monet yritykset Operasta Huaweihin, Tencentiin ja Weicoon käyttävät Beegoa tuotannossa.

Voit käyttää tätä komentoa Beego Frameworkin asentamiseen projektiisi.

mennä get -u github.com/beego/beego/v2

Näin voit määrittää yksinkertaisen SAADA pyytää API-päätepistettä Beego-kehyksellä.

tuonti "github.com/beego/beego/v2/server/web"

tyyppi ControllerInstance struct {
web. Ohjain // beego-sovelluksen sisääntulopiste
}

func(ohjain *ControllerInstance)Saada() {
ohjain. Ctx. WriteString("hei maailma")
}

funcpää() {
web. Reititin("/hello", &ControllerInstance{}) // kiinnitys beegolla
web. Juosta() // käynnissä beego-sovellus
}

The ControllerInstance struct on Beego-sovelluksen sisääntulopiste. The Saada Käsittelijäfunktio sisältää logiikan a: lle SAADA pyytää /hello päätepiste. Se palauttaa "hello world" -merkkijonon vastauksena.

5. Revel Framework

Revel loistaa joustavuudestaan, jonka se tarjoaa verkkosovellusten rakentamiseen. Voit käyttää Revelin tyyppiturvallista reititystä, rakentaa ohjaimia ja käyttää Siirry malleja Revelin kanssa.

Revel tarjoaa toimintoja reititystä, helppoa JSON-koodausta ja -dekoodausta sekä istunnon käsittelyä varten. Se sisältää myös toimintoja, jotka käsittelevät verkkosovellusten välimuistia, virheenkorjausta ja testausta. Revelillä on CLI-paketti CLI: iden rakentamiseen sovelluksillesi. Voit palvella staattisia tiedostoja Revelin avulla ja rakentaa chat-sovelluksia sen Websocket-toiminnolla.

Asenna Revel-kehys projektihakemistoosi tällä komennolla:

mennä hanki github.com/revel/revel

Revel-sovelluksen käyttöönotto on helppoa. Tässä on yksinkertainen käsittelijätoiminto a SAADA pyytää päätepistettä Revel-kehyksen kanssa.

tuonti (
"github.com/revel/revel"
)

tyyppi Malli struct { // yksinkertainen mallirakenne
Viesti merkkijono`json:"viesti"`
Kuvaus merkkijono`json:"description"`
}

tyyppi Sovellus struct {
*ilo. Ohjain // pyyntöjen sisääntulopiste
}

func(sovellussovellus)Hei()nauti.Tulos {
malli := Malli{
Viesti: "menestys",
Kuvaus: "Hei!, Maailma",
}

sovellus. Vastaus. ContentType = "sovellus/json"
palata sovellus. RenderJSON(malli)
}

The Sovellus struct on Revel-sovelluksen sisääntulokohta. Käsittelijäsi toteuttavat sovellusrakenteen. Vastauksen sisältötyyppi on JSON ja Hei Käsittelijäfunktio palauttaa koodatun JSON-rakenteen.

Varo reitittimien ja kehysten välistä eroa

Go-ekosysteemistä löytyy monia verkkopaketteja, joista suurin osa on reitittimiä tai kehyksiä. Reitittimet on tarkoitettu pyyntöjen vastaanottamiseen HTTP-protokollan kautta.

Tarvitset lisäpaketteja toimiaksesi reitittimien kanssa. Kuten tässä opetusohjelmassa, useimmat puitteet sisältävät sisäänrakennettuja reitittimiä muiden toimintojen ohella.