Gin - HTTP web framework written in Go (Golang)

  •        633

Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love You can add global, per-group, and per-route middlewares, thousands of nested groups, nice JSON validation and rendering. And the performance will be still great. Gin uses httprouter internally, the fastest HTTP router for Golang. Httprouter was created by Julien Schmidt and it’s based in a Radix Tree algorithm.

It has very good middleware support, A incoming HTTP request can be handled by a chain of middlewares and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB.

Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available.

https://gin-gonic.github.io/gin/
https://github.com/gin-gonic/gin

Tags
Implementation
License
Platform

   




Related Projects

gongular - A different approach to Go web frameworks

  •    Go

gongular is an HTTP Server Framework for developing APIs easily. It is like Gin Gonic, but it features Angular-like (or Spring like) dependency injection and better input handling. Most of the time, user input must be transformed into a structured data then it must be validated. It takes too much time and is a repetitive work, gongular aims to reduce that complexity by providing request-input mapping with tag based validation.Note: gongular is an opinionated framework and it heavily relies on reflection to achieve these functionality. While there are tests to ensure it works flawlessly, I am open to contributions and opinions on how to make it better.

gear - A lightweight, composable and high performance web service framework for Go.

  •    Go

A lightweight, composable and high performance web service framework for Go. It is a useful CMD tool that serve your local files as web server (support TLS). You can build osx, linux, windows version with make build.

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

  •    Go

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.

swoft - ⚡️ Modern High performance AOP and Coroutine PHP Framework, base on Swoole

  •    PHP

The first high-performance PHP coroutine full-stack componentization framework based on Swoole native coroutine, built-in coroutine web server and commonly-used coroutine client, resident memory, which has no dependency on PHP-FPM, asynchronous non-blocking IO implementation, similar to synchronous client style of writing to achieve the use of asynchronous clients, without complex asynchronous callback, no tedious yield, similar Go language coroutines, flexible annotations framework, a powerful global dependency injection container base on annotations, and great service governance , flexible and powerful AOP, PSR specification implementation, etc., could be used to build high-performance Web systems, APIs, middleware, basic services, microservice and so on. Chinese Document English Document Not yet, please help us write it.


ffead-cpp - Framework for Enterprise Application Development, c++ framework, c++ web framework, c++ application framework, c++ rest framework, c++ soap framework, c++ web sites,c++ web applications, c++ driven web development - c++

  •    C++

ffead-cpp is a web-framework, application framework, utilities all bundled into one. It also provides an embedded HTTP/HTT2/Web-Socket compliant high-performance server core. It is a collection of modules all geared towards performing individual roles which together form the cohesive back-bone of ffead-cpp. It provides a very simple to use and maintain web-framework library with advanced features like Reflection, Dependency Injection (IOC), Inbuilt REST/SOAP support, Security/Authentication features. Moreover implementation for interfacing to caching tools like Memcached/Redis are provided in-built. Database integration/ORM framework (SDORM) solves all major issues with respect to interfacing with SQL/No-SQL database alike.

Blade - Lightning fast and elegant MVC framework for Java8

  •    Java

Blade is a pursuit of simple, efficient Web framework, so that Java web development even more powerful, both in performance and flexibility. The design is simple, easy to understand and doesn't introduce many layers between you and the standard library. The goal of this project is that the users should be able to understand the whole framework in a single day. It supports RESTful style routing interface. It has no invasive interceptors and provides the writing of DSL grammar.

go-web-framework-benchmark - :zap: Go web framework benchmark

  •    Go

This benchmark suite aims to compare the performance of Go web frameworks. It is inspired by Go HTTP Router Benchmark but this benchmark suite is different with that. Go HTTP Router Benchmark suit aims to compare the performance of routers but this Benchmark suit aims to compare whole HTTP request processing.

blink - A high performance web framework and application server in PHP.

  •    PHP

Blink is a micro web framework for building long-running and high performance services, the design heavily inspired by Yii2 and Laravel. Blink aims to provide the most expressive and elegant API and try to make the experience of web development as pleasant as possible. Besides, Blink is also an application server that can serve requests directly in PHP, without php-fpm or Apache's mod_php. we use the Swoole extension as the underlying networking library. This can easily make our PHP application 100% faster in just a blink.

authz - gin-authz is an authorization middleware for Gin

  •    Go

Authz is an authorization middleware for Gin, it's based on https://github.com/casbin/casbin. For how to write authorization policy and other details, please refer to the Casbin's documentation.

goliath - Goliath is a non-blocking Ruby web server framework

  •    Ruby

Goliath is an open source version of the non-blocking (asynchronous) Ruby web server framework. It is a lightweight framework designed to meet the following goals: bare metal performance, Rack API and middleware support, simple configuration, fully asynchronous processing, and readable and maintainable code (read: no callbacks). The framework is powered by an EventMachine reactor, a high-performance HTTP parser and Ruby 1.9+ runtime. The one major advantage Goliath has over other asynchronous frameworks is the fact that by leveraging Ruby fibers introduced in Ruby 1.9+, it can untangle the complicated callback-based code into a format we are all familiar and comfortable with: linear execution, which leads to more maintainable and readable code.

iris - The fastest web framework for Go in (THIS) Earth

  •    Go

Iris is a fast, simple and efficient micro web framework for Go. It provides a beautifully expressive and easy to use foundation for your next website, API, or distributed app.Iris may have reached version 8, but we're not stopping there. We have many feature ideas on our board that we're anxious to add and other innovative web development solutions that we're planning to build into Iris.

CleverGo - High Performance Web Framework in Go

  •    Go

CleverGo built in top of fasthttp, it is a simple, high performance and secure web framework for Go.

web2py - Python Web Framework

  •    Python

web2py is a full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications. This framework is based on Model-View-Controller design and it has support to Server-side form validation and postbacks. It has the ability to generate forms from database tables and it includes an extensive set of validators.

Goliath is a non-blocking Ruby web server framework

  •    Ruby

Goliath is an open source version of the non-blocking (asynchronous) Ruby web server framework. It is a lightweight framework designed to meet the following goals: bare metal performance, Rack API and middleware support, simple configuration, fully asynchronous processing, and readable and maintainable code (read: no callbacks).

Macaron - A high productive and modular web framework in Go.

  •    Go

Package macaron is a high productive and modular web framework in Go.The minimum requirement of Go is 1.3.

Opa - Elegant language for Web

  •    Closure

Opa is a concise and elegant language for writing scalable and distributed web applications. Opa pushes boundaries of the state of the art in web security by making its application immune to XSS attacks, SQL injections and more. Opa is designed to get you to your finished app faster, concentrating only on the interesting parts, without the hassle of writing the glue or of using a programming language against its original design.