Gin - HTTP web framework written in Go (Golang)

  •        131

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.



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.

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.

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…).

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.

JHipster - Create Spring Boot + Angular projects in seconds

JHipster is a Yeoman generator, used to create a Spring Boot + Angular project. Its goal is to generate for you a complete and modern Web app. It provides a high-performance and robust Java stack on the server side with Spring Boot, A sleek, modern, mobile-first front-end with Angular and Bootstrap and a powerful workflow to build your application with Yeoman, Webpack/Gulp and Maven/Gradle.

ZK – Java Web Framework for Web and Mobile

ZK is the leading Ajax + Mobile framework that is designed to build amazing Java web applications in a quick, efficient and elegant manner without needing any knowledge on Ajax or JavaScript. Unlike other conventional web frameworks, ZK is renowned for its shallow learning curve and unique Server+client architecture offering users a high performance, high security and low maintenance framework at an enterprise level.

dropwizard - A damn simple library for building production-ready RESTful web services.

Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. It pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package that lets you focus on getting things done.