9.2 KiB
Fiber ist ein von Expressjs inspiriertes Web-Framework, aufgebaut auf Fasthttp - die schnellste HTTP engine für Go. Kreiert um Dinge zu vereinfachen, für schnelle Entwicklung mit keinen Speicherzuweisungen und Performance im Hinterkopf.
⚡️ Schnellstart
package main
import "github.com/gofiber/fiber"
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) {
c.Send("Hello, World!")
})
app.Listen(3000)
}
⚙️ Installation
Als erstes, downloade und installiere Go. 1.11
oder höher.
Die Installation wird durch das go get
Kommando gestartet:
go get github.com/gofiber/fiber
🤖 Benchmarks
Diese Tests wurden von TechEmpower und Go Web ausgeführt. Falls du alle Resultate sehen möchtest, besuche bitte unser Wiki.
🎯 Eigenschaften
- Robustes Routing
- Bereitstellen von statischen Dateien
- Extreme Performance
- Geringe Arbeitsspeicher verwendung
- Express API Endpunkte
- Middleware & Next Support
- Schnelle serverseitige Programmierung
- Übersetzt in 5 Sprachen
- Und vieles mehr - erkunde Fiber
💡 Philosophie
Neue gopher welche von Node.js zu Go umsteigen, müssen eine Lernkurve durchlaufen, bevor sie ihre Webanwendungen oder Microservices erstellen können. Fiber, als ein Web-Framework, wurde erschaffen mit der Idee von Minimalismus und folgt dem UNIX Weg damit neue Gophers mit einem herzlichen und vertrauenswürdigen Willkommen schnell in die Welt von Go eintreten können.
Fiber ist inspiriert von Expressjs, dem beliebtesten Web-Framework im Internet. Wir haben die Leichtigkeit von Express und die Rohleistung von Go kombiniert. Wenn du jemals eine Webanwendung mit Node.js implementiert hast (mit Express.js oder ähnlichem), werden dir viele Methoden und Prinzipien sehr vertraut vorkommen.
👀 Beispiele
Nachfolgend sind einige der gängigen Beispiele aufgeführt. Wenn du weitere Codebeispiele sehen möchten, besuche bitte unser "Recipes Repository" oder besuche unsere API Dokumentation.
Statische Dateien
func main() {
app := fiber.New()
app.Static("./public")
// => http://localhost:3000/js/script.js
// => http://localhost:3000/css/style.css
app.Static("/prefix", "./public")
// => http://localhost:3000/prefix/js/script.js
// => http://localhost:3000/prefix/css/style.css
app.Listen(3000)
}
Routing
func main() {
app := fiber.New()
// GET /john
app.Get("/:name", func(c *fiber.Ctx) {
fmt.Printf("Hello %s!", c.Params("name"))
// => Hello john!
})
// GET /john
app.Get("/:name/:age?", func(c *fiber.Ctx) {
fmt.Printf("Name: %s, Age: %s", c.Params("name"), c.Params("age"))
// => Name: john, Age:
})
// GET /api/register
app.Get("/api*", func(c *fiber.Ctx) {
fmt.Printf("/api%s", c.Params("*"))
// => /api/register
})
app.Listen(3000)
}
Middleware
func main() {
app := fiber.New()
// Match any post route
app.Post(func(c *fiber.Ctx) {
user, pass, ok := c.BasicAuth()
if !ok || user != "john" || pass != "doe" {
c.Status(403).Send("Sorry John")
return
}
c.Next()
})
// Match all routes starting with /api
app.Use("/api", func(c *fiber.Ctx) {
c.Set("Access-Control-Allow-Origin", "*")
c.Set("Access-Control-Allow-Headers", "X-Requested-With")
c.Next()
})
// Optional param
app.Post("/api/register", func(c *fiber.Ctx) {
username := c.Body("username")
password := c.Body("password")
// ..
})
app.Listen(3000)
}
404 Handling
func main() {
app := fiber.New()
// Serve static files from "public" directory
app.Static("./public")
// Last middleware
app.Use(func (c *fiber.Ctx) {
c.SendStatus(404) // => 404 "Not Found"
})
app.Listen(3000)
}
JSON Response
func main() {
app := fiber.New()
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
// Serialize JSON
app.Get("/json", func (c *fiber.Ctx) {
c.JSON(&User{"John", 20})
})
app.Listen(3000)
}
💬 Medien
- Welcome to Fiber — an Express.js styled web framework written in Go with ❤️ von Vic Shóstak, 03 Feb 2020
👍 Mitwirken
Falls du danke sagen möchtest und/oder aktiv die Entwicklung von fiber
fördern möchtest:
- Füge dem Projekt einen GitHub Stern hinzu.
- Twittere über das Projekt auf deinem Twitter.
- Schreibe eine Rezension auf Medium, Dev.to oder einem persönlichem Blog.
- Hilf uns diese
README
und die API Docs in eine andere Sprache zu übersetzen.
⭐️ Sterne
⚠️ Lizenz
Fiber
is free and open-source software licensed under the MIT License.