Go, a rapidly emerging programming language, aims to create concise, high-speed, and stable software. The net/http library provided by Golang is already quite complete, with excellent support for the HTTP protocol. It is not complex to further develop frameworks based on this foundation, so there are many frameworks in the ecosystem.

Gin

Gin is an HTTP Web framework written in Go (Golang). It has an API similar to Martini, but is 40 times faster than Martini in performance. If you need excellent performance, use Gin. In short, Gin is a Web framework written in Go, featuring speed, efficiency, and flexibility. It supports middleware, route grouping, validation, etc., and is suitable for building RESTful APIs and real-time applications.

Gin

Official Website: https://gin-gonic.com/zh-cn/

Beego

Beego is used for the rapid development of enterprise applications in Go, including RESTful APIs, Web applications, and backend services. It is inspired by Tornado, Sinatra, and Flask. Beego has some Go-specific features, such as interfaces and struct embedding. That is to say, Beego is an HTTP framework for quickly developing Go applications, supporting features like route control, MVC pattern, modularity, etc. It also provides a rich set of plugins and tools, such as database operations, caching, task scheduling, etc.

Beego

Official Website: https://doc.meoying.com/en-US/beego/developing/

Echo

Echo is a high-performance, minimalist Go Web framework that supports route grouping, middleware, request validation, etc. It also provides a rich set of extension plugins, such as database operations, template engines, etc.

Echo

Official Website: https://echo.labstack.com/

Revel

Revel is a full-stack Go Web framework that supports the MVC pattern, route control, template rendering, etc. It also provides many built-in libraries and tools, such as database operations, caching, authentication, etc.

Revel

Official Website: https://revel.github.io/

Iris

Iris is a fast, simple but feature-rich HTTP framework designed for the Go programming language. It supports middleware, route grouping, validation, etc., and is suitable for building RESTful APIs and real-time applications.

Iris

Official Website: https://www.iris-go.com/

Buffalo

Buffalo is a Go framework for quickly developing Web applications that supports the MVC pattern, route control, template rendering, etc. It also provides a rich set of plugins and tools, such as database operations, authentication, etc.

Buffalo

Official Website: https://gobuffalo.io/

GoFrame

GoFrame

GoFrame is a modular, high-performance, enterprise-level Go basic development framework. GoFrame is a general-purpose basic development framework, an enhanced extension of the Golang standard library, containing common core basic development components. Its advantages are practicality, modularity, comprehensive documentation, rich modules, high ease of use, strong generality, and being team-oriented. GoFrame can be used to develop complete engineering projects. Due to the modular decoupling design of the framework foundation, it can also be used as a tool library.

If you want to develop a business project using Golang, whether it is a small or medium-large project, GoFrame is your best choice. If you want to develop a Golang component library, the out-of-the-box, rich and powerful basic component library provided by GoFrame can also make your work twice as efficient. If you are a team leader, the rich documentation, detailed code comments, and active community members of GoFrame will greatly reduce your guidance cost and support the team's quick access, language transformation, and ability improvement.

Features

  • Leading in the industry and engineering-complete
  • Modular and loose-coupling design
  • Rich components and ready to use
  • Simple to use and well-documented
  • Interface-based and highly extensible design
  • Full-link tracing feature
  • Full error stack feature
  • Interface-based error code support
  • Robust engineering design specifications
  • More convenient and powerful ORM components
  • Convenient development tools and automated code generation
  • Support for the OpenTelemetry observability standard
  • Automated interface documentation generation, supporting the OpenAPIv3 standard
  • Complete native Chinese support
  • Designed for use by teams and enterprises

Official Website: https://goframe.org/display/gf

Zinx

A lightweight concurrent server framework for Golang

Currently, Zinx has been used in development in many enterprises. The specific application areas include: message transfer in backend modules, long-connection game servers, message processing plugins in Web frameworks, etc. The positioning of Zinx is to have concise code, allowing more developers to quickly understand the internal details of the framework and quickly DIY (secondary development) a module suitable for their enterprise scenarios based on Zinx.

Zinx

Official Website: https://github.com/aceld/zinx

Fiber

A Web framework inspired by Express, written in Go.

Fiber is a Go Web framework built on Fasthttp, which is the fastest HTTP engine in Go. It aims to simplify rapid development while considering zero memory allocation and performance.

Fiber

Official Website: https://gofiber.io/

etcd

etcd is a highly consistent distributed key-value store that provides a reliable way to store data that needs to be shared by a distributed system or a cluster of computers. It gracefully handles leader elections during network partitions and can even tolerate machine failures in the leader node.

etcd

Official Website: https://etcd.io/

Traefik

Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes it easy to deploy microservices. Traefik integrates with your existing infrastructure components (Docker, Swarm mode, Kubernetes, Consul, Etcd, Rancher v2, Amazon ECS, etc.) and automatically configures itself dynamically. Pointing Traefik to the orchestrator should be the only configuration step you need.

traefik

Official Website: https://traefik.io/

Hugo

The fastest website building framework in the world

Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.

Hugo

Official Website: https://gohugo.io/

frp

frp is a high-performance reverse proxy application focused on intranet penetration. It supports multiple protocols such as TCP, UDP, HTTP, and HTTPS, and also supports P2P communication. It can expose intranet services to the public in a secure and convenient way through a relay with a public IP node.

frp

Official Websites: https://github.com/fatedier/frp

Syncthing

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to achieve the following goals. The goals are listed in order of importance, with the most important goal first. This is a summary version of the goal list - for more information and comments, see the full goal file.

Synchronization should be:

  1. Prevent data loss Protecting users' data is crucial. We take all reasonable preventive measures to avoid damaging users' files.
  2. Protect against attackers Similarly, protecting users' data is crucial. Regardless of our other goals, we must never make users' data vulnerable to eavesdropping or modification by unauthorized parties.
  3. Simple and easy to use Syncthing should be approachable, easy to understand, and inclusive.
  4. Automatic User interaction should be required only when absolutely necessary.
  5. Universally available Syncthing should run on every ordinary computer. We note that not everyone has access to the latest technology.
  6. For individuals Syncthing is mainly for personal users to provide secure, reliable, and easy-to-use file synchronization.
  7. Everything There are many things we care about that are not listed. As long as these values do not conflict, they can be optimized for these values while maintaining the above-established goals.

syncthing

Official Website: https://syncthing.net/

awesome-go

awesome-go is a curated list of Go frameworks, libraries, and software. It is a great resource for Go developers to find high-quality libraries and tools for their projects. The list is organized by categories, making it easy to navigate and find what you need.

awesome-go

Official Website: https://awesome-go.com/

mkcert

A simple zero-configuration tool for creating locally trusted development certificates with any name you want.

mkcert

Official Websites: