Overview
Go delivers speed, security, and developer-friendly tools for Web Applications
Go is designed to enable developers to rapidly develop scalable and secure web applications. Go ships with an easy to use, secure and performant web server and includes it own web templating library. Go has excellent support for all of the latest technologies from HTTP/2, to databases like MySQL, MongoDB and Elasticsearch, to the latest encryption standards including TLS 1.3. Go web applications run natively on Google App Engine and Google Cloud Run (for easy scaling) or on any environment, cloud, or operating system thanks to Go’s extreme portability.
Key Benefits
Deploy across platforms in record speed
For enterprises, Go is preferred for providing rapid cross-platform deployment. With its goroutines, native compilation, and the URI-based package namespacing, Go code compiles to a single, small binary—with zero dependencies—making it very fast.
Leverage Go’s out-of-the-box performance to scale with ease
Tigran Bayburtsyan, Co-Founder and CTO at Hexact Inc., summarizes five key reasons his company switched to Go:
-
Compiles into a single binary — “Using static linking, Go actually combining all dependency libraries and modules into one single binary file based on OS type and architecture.”
-
Static type system — “Type system is really important for large scale applications.”
-
Performance — “Go performed better because of its concurrency model and CPU scalability. Whenever we need to process some internal request, we are doing it with separate Goroutines which are 10x cheaper in resources than Python Threads.”
-
No need for a web framework — “In most of the cases you really don’t need any third-party library.”
-
Great IDE support and debugging — “After rewriting all projects to Go, we got 64 percent less code than we had earlier.”
Featured users
Customer | Brief introduction | Projects using go |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Get Started
Go books on web development
-
Web Development with Go
-
Go Web Programming
-
Web Development Cookbook: Build full-stack web applications with Go
-
Building RESTful Web services with Go
-
Mastering Go Web Services
Web frameworks
-
Echo
A high performance, extensible, and minimalist Go web framework
-
Flamingo
A fast open-source framework based on Go with clean and scalable architecture
-
Gin
A web framework written in Go, with a martini-like API.
-
Gorilla
A web toolkit for the Go programming language.
Routers
-
net/http
A standard library HTTP package
-
julienschmidt/httprouter
A lightweight high performance HTTP request router
-
gorilla/mux
A powerful HTTP router and URL matcher for building Go web servers with 🦍
-
Chi
A lightweight, idiomatic and composable router for building Go HTTP services.
Template Engines
-
html/template
A standard library HTML template engine
-
flosch/pongo2
A Django-syntax like templating-language
Databases & Drivers
-
database/sql
A standard library interface with driver support for MySQL, Postgres, Oracle, MS SQL, BigQuery and most SQL databases
-
mongo-driver/mongo
The MongoDB supported driver for Go
-
elastic/go-elasticsearch
An Elasticsearch client for Go
-
GORM
An ORM library for Go
-
Bleve
Full-text search and indexing for Go
-
CockroachDB
An evolution of the database—architected for the cloud to deliver resilient, consistent, distributed SQL at scale
Web Libraries
-
markbates/goth
Authentication for web apps
-
jinzhu/gorm
An ORM library for Go
-
dgrijalva/jwt-go
A Go implementation of json web tokens
Other Projects
-
gopherjs
A compiler from Go to JavaScript allowing developers to write front-end code in Go which will run in all browsers.
Courses
- Learn to Create Web Applications using Go, a paid online course
Projects
- gopherjs, a compiler from Go to JavaScript allowing developers to write front-end code in Go which will run in all browsers.
- Hugo, The world’s fastest framework for building websites
- Mattermost, a flexible, open source messaging platform that enables secure team collaboration
- Caddy, a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go