tango alternatives and similar packages
Based on the "Web Frameworks" category.
Alternatively, view tango 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. -
Gorilla WebSocket
A fast, well-tested and widely used WebSocket implementation for Go. -
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 -
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 -
Goji
Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang) -
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.
Access the most powerful time series database as a service
Do you think we are missing an alternative of tango or a related project?
Popular Comparisons
README
Tango [简体中文](README_CN.md)
[Tango Logo](logo.png)
Package tango is a micro & pluggable web framework for Go.
Current version: v0.5.0 Version History
Getting Started
To install Tango:
go get github.com/lunny/tango
A classic usage of Tango below:
package main
import (
"errors"
"github.com/lunny/tango"
)
type Action struct {
tango.JSON
}
func (Action) Get() interface{} {
if true {
return map[string]string{
"say": "Hello tango!",
}
}
return errors.New("something error")
}
func main() {
t := tango.Classic()
t.Get("/", new(Action))
t.Run()
}
Then visit http://localhost:8000
on your browser. You will get
{"say":"Hello tango!"}
If you change true
after if
to false
, then you will get
{"err":"something error"}
This code will automatically convert returned map or error to a json because we has an embedded struct tango.JSON
.
Features
- Powerful routing & Flexible routes combinations.
- Directly integrate with existing services.
- Easy to plugin features with modular design.
- High performance dependency injection embedded.
Middlewares
Middlewares allow you easily plugin features for your Tango applications.
There are already many middlewares to simplify your work:
- recovery - recover after panic
- compress - Gzip & Deflate compression
- static - Serves static files
- logger - Log the request & inject Logger to action struct
- param - get the router parameters
- return - Handle the returned value smartlly
- context - Inject context to action struct
- session -
Session manager, session-redis, session-nodb, session-ledis, session-ssdb
- xsrf -
Generates and validates csrf tokens
- binding -
Bind and validates forms
- renders -
Go template engine
- dispatch -
Multiple Application support on one server
- tpongo2 -
Pongo2 teamplte engine support
- captcha -
Captcha
- events -
Before and After
- flash -
Share data between requests
- debug -
show detail debug infomaton on log
- basicauth -
basicauth middleware
- authz -
manage permissions via ACL, RBAC, ABAC
- cache -
cache middleware - cache-memory, cache-file, cache-ledis, cache-nodb, cache-mysql, cache-postgres, cache-memcache, cache-redis
- rbac -
rbac control
Documentation
- Manual, And you are welcome to contribue for the book by git PR to github.com/go-tango/manual-en-US
- 操作手册,您也可以访问 github.com/go-tango/manual-zh-CN为本手册进行贡献
- API Reference
Discuss
- Google Group - English
- QQ Group - 简体中文 #369240307
Cases
- GopherTC - China Discuss Forum
- Wego - Discuss Forum
- dbweb - DB management web UI
- Godaily - github
- Pugo - A pugo blog
- Gos - Static web server
- GoFtpd - Pure Go cross-platform ftp server
License
This project is under BSD License. See the [LICENSE](LICENSE) file for the full license text.
*Note that all licence references and agreements mentioned in the tango README section above
are relevant to that project's source code only.