Top 23 Go Web Framework Projects
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.Latest mention: Deploying Your First Golang Webapp | dev.to | 2021-01-19
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |Latest mention: What's the fastest template parser in Go? | dev.to | 2020-10-01
A standard library for microservices.Latest mention: Gopher Gold #20 - Wed Nov 18 2020 | dev.to | 2020-11-17
go-kit/kit (Go): A standard library for microservices.
High performance, minimalist Go web frameworkLatest mention: Any way of reducing the verbosity at the web development with Go? | reddit.com/r/golang | 2021-01-11
If you're looking to write just web services then you might find Echo https://github.com/labstack/echo a good fit. Here is how I used echo in a template project https://github.com/iambenkay/nairacheck
A powerful HTTP router and URL matcher for building Go web servers with 🦍Latest mention: When to use Golang over Python for web app backend? | reddit.com/r/golang | 2021-01-24
gorilla/mux - Routing
A high performance HTTP request router that scales wellLatest mention: Creating an HTTP server in Go using gin | dev.to | 2020-11-16
httprouter is a fast router for Go that implements a lot of features of which a few are Path auto-correction, Zero Garbage, Best Performance.
A high productivity, full-stack web framework for the Go language.Latest mention: Any way of reducing the verbosity at the web development with Go? | reddit.com/r/golang | 2021-01-11
Of course there are options that make your work a lot less frustrating. From your choice of tools, you're probably trying to setup your architecture yourself but if that's not a necessity for you, you can tap into community frameworks that have basic features wired. There is Revel https://github.com/revel/revel A Rails alternative in Go.
⚡️ Express inspired web framework written in GoLatest mention: Fastapi Equivalent In Go | reddit.com/r/golang | 2021-01-25
I will recommend fiber https://github.com/gofiber/fiber
lightweight, idiomatic and composable router for building Go HTTP servicesLatest mention: Which go framework should I learn? | reddit.com/r/golang | 2021-01-06
The issue about versioning is precisely to come back to v1.5 and not accept to follow the Go way for major versions https://github.com/go-chi/chi/issues/561
Idiomatic HTTP Middleware for Golang
Rapid Web Development w/ Go
Swagger 2.0 implementation for go
go generate based graphql server libraryLatest mention: Tried to Create Crud API Gin+Gorm+GraphQL(gqlgen) | dev.to | 2021-01-01
Design-based APIs and microservices in Go
socket.io library for golang, a realtime application framework.
The easiest way to create web applications with Go
A quick and easy way to setup a RESTful JSON API
Package macaron is a high productive and modular web framework in Go.
Painless middleware chaining for GoLatest mention: Web Development in Go: Middleware, Templating, Databases & Beyond | dev.to | 2021-01-27
You can use a library like Alice to transform the above construct to a more readable form such as:
A lightweight MVC framework for Go(Golang)
:notes: Minimalist websocket framework for Go
Simple middleware to rate-limit HTTP requests.Latest mention: Ways to Rate Limit Requests in Go | dev.to | 2021-01-12
Go net/http configurable handler to handle CORS requestsLatest mention: REST Servers in Go: Part 1 – standard library | news.ycombinator.com | 2021-01-16
Nice demo. A few things you could add to make this more realistic to something that gets shipped:
-CORS support. Deploy this to a non-local domain and try to reach it from a web browser and it will fail. I like https://github.com/rs/cors. I had rolled my own but then moved to that library.
- input validation. I like go-playground/validator.
The other big issue is the locking by hand around the task store. In reality usually there would be a database to handle concurrent read/writes. I use SQLite in production. I know this is just a demo and you want to use just stdlib, but serializing all data access is sort of unacceptable as a solution in a concurrent language like Go. When I'm not handling concurrency with SQLite I like to implement The actor pattern, having a persistent goroutine listen and respond to "taskstore" requests via channels.
What are some of the best open-source Web Framework projects in Go? This list will help you: