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.Project mention: HandleFunc vs Handle | reddit.com/r/golang | 2021-02-23
At that point you may start looking at some of the larger frameworks out there like gorilla, gin, fiber, etc. Only because they have built-in functionality for those sort of things (i.e. logging middleware), and you may find it easier to work with.
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 |Project mention: What's the fastest template parser in Go? | dev.to | 2020-10-01
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
A standard library for microservices.Project mention: Dapr, Micro -- which do you use for cloud development? | reddit.com/r/golang | 2021-02-23
https://github.com/go-kit/kit is used widely but might introduce complexity
High performance, minimalist Go web frameworkProject mention: Go, Kafka, gRPC and MongoDB microservice with metrics and tracing 👋 | dev.to | 2021-02-28
and REST API handler using echo:
A powerful HTTP router and URL matcher for building Go web servers with 🦍Project mention: Basic question: How to install a package? | reddit.com/r/golang | 2021-02-26
After installing Go and setting up my GOPATH, I'd like to install the gorilla/mux package. So I do
A high performance HTTP request router that scales wellProject mention: Choosing building blocks to move faster | dev.to | 2021-02-01
Another common reason to decide against using an existing component is when it doesn't satisfy your requirements. For this project, I needed to prioritize the performance of the web server, and so I knew I needed an HTTP framework that performed well across a number of benchmarks, but I also needed some unusual capabilities such as being able to swap out the router in real-time. In the end, I decided on a hybrid approach for the web server, choosing to build a custom framework around the well-loved httprouter, which granted the majority of what I needed, and had some extremely well thought-out integration points that made it easy for me to build on top of it. In the case of the message bus, I also had a requirement of decentralization, which the majority of available projects are not.
A high productivity, full-stack web framework for the Go language.Project 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 Go
lightweight, idiomatic and composable router for building Go HTTP servicesProject mention: Release v5.0.0 · go-chi/chi | reddit.com/r/golang | 2021-02-27
To me, software is art, and I intentionally spent so much time to craft chi to the create a router with the absolute best ergonomics and developer experience. With forced-SIV, I'm unable to fulfill this purpose and now feel deeply uninspired. If proposal 44550 is rejected, I will most likely archive go-chi/chi and create a new repository at go-chi/mux and start from v0 and never leave it. https://github.com/go-chi/chi/issues/561#issuecomment-787462275
Idiomatic HTTP Middleware for Golang
Swagger 2.0 implementation for goProject mention: SwaggerUI with Golang | reddit.com/r/golang | 2021-03-02
A lot of the benefits of swagger come from code and yaml generation. So you can take a look at something like go-swagger and use that to generate client code and server boilerplate from your yaml. Another way around is you can have the swagger yaml or json be generated from docstrings in the code (but that wouldn't be design first I guess). I have an example of that here if you want to look. Just pop open any of the files that starts with a get/post/put/etc.
Rapid Web Development w/ Go
go generate based graphql server libraryProject mention: Tried to Create Crud API Gin+Gorm+GraphQL(gqlgen) | dev.to | 2021-01-01
Design-based APIs and microservices in Go
I'm new to golang and I've found the goa framework at https://goa.design/. It allows to build a REST and/or a gRPC API and automatically generates a CLI. Has anyone worked with it?
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 GoProject 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.Project mention: Ways to Rate Limit Requests in Go | dev.to | 2021-01-12
Go net/http configurable handler to handle CORS requests (by rs)Project mention: I had a Go, CORS and Single Page App Ordeal So You Don’t Have To | Integration Junction | reddit.com/r/golang | 2021-02-22
It might be a function of the fact that the project had a hand crafted main rather than using the generated one, but when I hit this for adding CORS to a go-swagger project we used a handler generated by rs/cors as middleware - it (and a bunch of other middleware) wrapped the generated server's handler as go-swagger uses one root handler.
What are some of the best open-source Web Framework projects in Go? This list will help you: