Gin - HTTP web framework written in Go (Golang)

  •        224

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


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.

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


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.

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


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.


Blade - Lightning fast and elegant MVC framework for Java8


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.

blink - A high performance web framework and application server in 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.

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


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


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

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


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.

gin - Live reload utility for Go web servers


gin is a simple command line utility for live-reloading Go web applications. Just run gin in your app directory and your web app will be served with gin as a proxy. gin will automatically recompile your code when it detects a change. Your app will be restarted the next time it receives an HTTP request.gin adheres to the "silence is golden" principle, so it will only complain if there was a compiler error or if you succesfully compile after an error.

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


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

web2py - Python Web Framework


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.

Revel Framework - A high productivity, full-stack web framework for the Go language.


Revel high productivity, full-stack web framework for the Go language. It provides routing, parameter parsing, validation, session/flash, templating, caching, job running, a testing framework, and even internationalization. It builds on top of the Go HTTP server, which can serve three to ten times as many requests as Rails across a variety of loads.

Opa - Elegant language for Web


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.

Beego - Web Framework for Go


Beego is an open-source, high-performance, modular, full-stack web framework. Its feature include Restful support, MVC model, With powerful built-in modules including session control, caching, logging, configuration parsing, performance supervising, context handling, ORM supporting, and requests simulating and lot more.

Telosys - Global framework on AJAX and JavaEE


Telosys is a lightweight global framework based on AJAX and standard JavaEE technologies. Its pragmatic approach allows to build easily business web applications. Telosys is a self-sufficient solution that covers seamlessly all the application layers (presentation, persistence, services, navigation, internationalization, authentication, etc…).

manos - Manos is an easy to use, easy to test, high performance web application framework that stays out of your way and makes your life ridiculously simple


Manos is an easy to use, easy to test, high performance web application framework that stays out of your way and makes your life ridiculously simple. Manos creates stand alone web applications that don't rely on Apache, IIS or any other web server, the server is bundled into the .exe file with the rest of your application. This allows for easy deployment, easy upgrades and absolutely no configuration.

mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.


Mango is a modular web-application framework for Go, inspired by Rack and PEP333.Note: Not actively maintained.

Zend - PHP application stack


Zend Server is a complete, enterprise-ready Web Application Server for running and managing PHP applications that require a high level of reliability, performance and security. It boosts application performane using byte code optimizer. It provides application stack for PHP application. It also provide support to connect to Java applications.