Goji alternatives and similar packages
Based on the "Web Frameworks" category.
Alternatively, view Goji alternatives based on common mentions on social networks and blogs.
-
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. -
Iris
The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :leaves: :rocket: | 谢谢 | #Go -
Gorilla WebSocket
A fast, well-tested and widely used WebSocket implementation for Go. -
go-kratos
Your ultimate Go microservices framework for the cloud-native era. -
go-socket.io
socket.io library for golang, a realtime application framework. -
Macaron
Package macaron is a high productive and modular web framework in Go. -
Hertz
Go HTTP framework with high-performance and strong-extensibility for building micro-services. -
Faygo
Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct handler, faygo will automatically bind/verify the request parameters and generate the online API doc. -
render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses. -
pat
Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. -
tigertonic
A Go framework for building JSON web services inspired by Dropwizard -
Atreugo
High performance and extensible micro web framework. Zero memory allocations in hot paths. -
fasthttprouter
A high performance fasthttp request router that scales well -
Beego
beego is an open-source, high-performance web framework for the Go programming language. -
go-server-timing
Go (golang) library for creating and consuming HTTP Server-Timing headers -
Gearbox
Gearbox :gear: is a web framework written in Go with a focus on high performance -
golongpoll
golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients :smiley: :coffee: :computer: -
xujiajun/gorouter
xujiajun/gorouter is a simple and fast HTTP router for Go. It is easy to build RESTful APIs and your web framework.
Static code analysis for 29 languages.
Do you think we are missing an alternative of Goji or a related project?
Popular Comparisons
README
Goji
Goji is a HTTP request multiplexer, similar to net/http.ServeMux
.
It compares incoming requests to a list of registered Patterns, and
dispatches to the http.Handler that corresponds to the first matching
Pattern. Goji also supports Middleware (composable shared
functionality applied to every request) and uses the standard
context
package to store request-scoped values.
Quick Start
package main
import (
"fmt"
"net/http"
"goji.io"
"goji.io/pat"
)
func hello(w http.ResponseWriter, r *http.Request) {
name := pat.Param(r, "name")
fmt.Fprintf(w, "Hello, %s!", name)
}
func main() {
mux := goji.NewMux()
mux.HandleFunc(pat.Get("/hello/:name"), hello)
http.ListenAndServe("localhost:8000", mux)
}
Please refer to Goji's GoDoc Documentation for a full API reference.
Stability
Goji's API was recently updated to use the new net/http
and context
integration, and is therefore some of its interfaces are in a state of flux. We
don't expect any further changes to the API, and expect to be able to announce
API stability soon. Goji is suitable for use in production.
Prior to Go 1.7, Goji promised API stability with a different API to the one
that is offered today. The author broke this promise, and does not take this
breach of trust lightly. While stability is obviously extremely important, the
author and community have decided to follow the broader Go community in
standardizing on the standard library copy of the context
package.
Users of the old API can find that familiar API on the net-context
branch. The
author promises to maintain both the net-context
branch and master
for the
forseeable future.
Community / Contributing
Goji maintains a mailing list, gojiberries, where you should feel welcome to ask questions about the project (no matter how simple!), to announce projects or libraries built on top of Goji, or to talk about Goji more generally. Goji's author (Carl Jackson) also loves to hear from users directly at his personal email address, which is available on his GitHub profile page.
Contributions to Goji are welcome, however please be advised that due to Goji's stability guarantees interface changes are unlikely to be accepted.
All interactions in the Goji community will be held to the high standard of the broader Go community's Code of Conduct.