CINXE.COM
Go for Web Development - The Go Programming Language
<!DOCTYPE html> <html lang="en" data-theme="auto"> <head> <link rel="preconnect" href="https://www.googletagmanager.com"> <script >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-W8MVQXG');</script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#00add8"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons"> <link rel="stylesheet" href="/css/styles.css"> <link rel="icon" href="/images/favicon-gopher.png" sizes="any"> <link rel="apple-touch-icon" href="/images/favicon-gopher-plain.png"/> <link rel="icon" href="/images/favicon-gopher.svg" type="image/svg+xml"> <link rel="me" href="https://hachyderm.io/@golang"> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-W8MVQXG');</script> <script src="/js/site.js"></script> <meta name="og:url" content="https://go.dev/solutions/webdev"> <meta name="og:title" content="Go for Web Development - The Go Programming Language"> <title>Go for Web Development - The Go Programming Language</title> <meta name="og:image" content="https://go.dev/doc/gopher/gopher5logo.jpg"> <meta name="twitter:image" content="https://go.dev/doc/gopher/gopherbelly300.jpg"> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@golang"> </head> <body class="Site"> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8MVQXG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <header class="Site-header js-siteHeader"> <div class="Header Header--dark"> <nav class="Header-nav"> <a href="/"> <img class="js-headerLogo Header-logo" src="/images/go-logo-white.svg" alt="Go"> </a> <div class="skip-navigation-wrapper"> <a class="skip-to-content-link" aria-label="Skip to main content" href="#main-content"> Skip to Main Content </a> </div> <div class="Header-rightContent"> <ul class="Header-menu"> <li class="Header-menuItem Header-menuItem--active"> <a href="#" class="js-desktop-menu-hover" aria-label=Why Go aria-describedby="dropdown-description"> Why Go <i class="material-icons" aria-hidden="true">arrow_drop_down</i> </a> <div class="screen-reader-only" id="dropdown-description" hidden> Press Enter to activate/deactivate dropdown </div> <ul class="Header-submenu js-desktop-submenu-hover" aria-label="submenu"> <li class="Header-submenuItem"> <div> <a href="/solutions/case-studies"> Case Studies </a> </div> <p>Common problems companies solve with Go</p> </li> <li class="Header-submenuItem"> <div> <a href="/solutions/use-cases"> Use Cases </a> </div> <p>Stories about how and why companies use Go</p> </li> <li class="Header-submenuItem"> <div> <a href="/security/"> Security </a> </div> <p>How Go can help keep you secure by default</p> </li> </ul> </li> <li class="Header-menuItem "> <a href="/learn/" aria-label=Learn aria-describedby="dropdown-description"> Learn </a> <div class="screen-reader-only" id="dropdown-description" hidden> Press Enter to activate/deactivate dropdown </div> </li> <li class="Header-menuItem "> <a href="#" class="js-desktop-menu-hover" aria-label=Docs aria-describedby="dropdown-description"> Docs <i class="material-icons" aria-hidden="true">arrow_drop_down</i> </a> <div class="screen-reader-only" id="dropdown-description" hidden> Press Enter to activate/deactivate dropdown </div> <ul class="Header-submenu js-desktop-submenu-hover" aria-label="submenu"> <li class="Header-submenuItem"> <div> <a href="/doc/effective_go"> Effective Go </a> </div> <p>Tips for writing clear, performant, and idiomatic Go code</p> </li> <li class="Header-submenuItem"> <div> <a href="/doc"> Go User Manual </a> </div> <p>A complete introduction to building software with Go</p> </li> <li class="Header-submenuItem"> <div> <a href="https://pkg.go.dev/std"> Standard library </a> </div> <p>Reference documentation for Go's standard library</p> </li> <li class="Header-submenuItem"> <div> <a href="/doc/devel/release"> Release Notes </a> </div> <p>Learn what's new in each Go release</p> </li> </ul> </li> <li class="Header-menuItem "> <a href="https://pkg.go.dev" aria-label=Packages aria-describedby="dropdown-description"> Packages </a> <div class="screen-reader-only" id="dropdown-description" hidden> Press Enter to activate/deactivate dropdown </div> </li> <li class="Header-menuItem "> <a href="#" class="js-desktop-menu-hover" aria-label=Community aria-describedby="dropdown-description"> Community <i class="material-icons" aria-hidden="true">arrow_drop_down</i> </a> <div class="screen-reader-only" id="dropdown-description" hidden> Press Enter to activate/deactivate dropdown </div> <ul class="Header-submenu js-desktop-submenu-hover" aria-label="submenu"> <li class="Header-submenuItem"> <div> <a href="/talks/"> Recorded Talks </a> </div> <p>Videos from prior events</p> </li> <li class="Header-submenuItem"> <div> <a href="https://www.meetup.com/pro/go"> Meetups <i class="material-icons">open_in_new</i> </a> </div> <p>Meet other local Go developers</p> </li> <li class="Header-submenuItem"> <div> <a href="/wiki/Conferences"> Conferences <i class="material-icons">open_in_new</i> </a> </div> <p>Learn and network with Go developers from around the world</p> </li> <li class="Header-submenuItem"> <div> <a href="/blog"> Go blog </a> </div> <p>The Go project's official blog.</p> </li> <li class="Header-submenuItem"> <div> <a href="/help"> Go project </a> </div> <p>Get help and stay informed from Go</p> </li> <li class="Header-submenuItem"> <div> Get connected </div> <p></p> <div class="Header-socialIcons"> <a class="Header-socialIcon" aria-label="Get connected with google-groups (Opens in new window)" href="https://groups.google.com/g/golang-nuts"><img src="/images/logos/social/google-groups.svg" /></a> <a class="Header-socialIcon" aria-label="Get connected with github (Opens in new window)" href="https://github.com/golang"><img src="/images/logos/social/github.svg" /></a> <a class="Header-socialIcon" aria-label="Get connected with twitter (Opens in new window)" href="https://twitter.com/golang"><img src="/images/logos/social/twitter.svg" /></a> <a class="Header-socialIcon" aria-label="Get connected with reddit (Opens in new window)" href="https://www.reddit.com/r/golang/"><img src="/images/logos/social/reddit.svg" /></a> <a class="Header-socialIcon" aria-label="Get connected with slack (Opens in new window)" href="https://invite.slack.golangbridge.org/"><img src="/images/logos/social/slack.svg" /></a> <a class="Header-socialIcon" aria-label="Get connected with stack-overflow (Opens in new window)" href="https://stackoverflow.com/tags/go"><img src="/images/logos/social/stack-overflow.svg" /></a> </div> </li> </ul> </li> </ul> <button class="Header-navOpen js-headerMenuButton Header-navOpen--white" aria-label="Open navigation."> </button> </div> </nav> <div class="UseCaseSubNav js-useCaseSubnav"> <button class="UseCaseSubNav-menuHeader js-useCaseSubnavHeader"> Jump to <img class="UseCaseSubNav-menuIcon js-useCaseSubnavMenuIcon" alt="Open menu icon" src="/images/icons/chevron-down.svg"> </button> <div class="UseCaseSubNav-menu js-useCaseSubnavMenu"> <div class="UseCaseSubNav-anchorLinks js-useCaseSubnavLinks"> </div> </div> </div> </div> </header> <aside class="NavigationDrawer js-header"> <nav class="NavigationDrawer-nav"> <div class="NavigationDrawer-header"> <a href="/"> <img class="NavigationDrawer-logo" src="/images/go-logo-blue.svg" alt="Go."> </a> </div> <ul class="NavigationDrawer-list"> <li class="NavigationDrawer-listItem js-mobile-subnav-trigger NavigationDrawer-listItem--active NavigationDrawer-hasSubnav"> <a href="#"><span>Why Go</span> <i class="material-icons">navigate_next</i></a> <div class="NavigationDrawer NavigationDrawer-submenuItem"> <nav class="NavigationDrawer-nav"> <div class="NavigationDrawer-header"> <a href="#"><i class="material-icons">navigate_before</i>Why Go</a> </div> <ul class="NavigationDrawer-list"> <li class="NavigationDrawer-listItem"> <a href="/solutions/case-studies"> Case Studies </a> </li> <li class="NavigationDrawer-listItem"> <a href="/solutions/use-cases"> Use Cases </a> </li> <li class="NavigationDrawer-listItem"> <a href="/security/"> Security </a> </li> </ul> </div> </div> </li> <li class="NavigationDrawer-listItem "> <a href="/learn/">Learn</a> </li> <li class="NavigationDrawer-listItem js-mobile-subnav-trigger NavigationDrawer-hasSubnav"> <a href="#"><span>Docs</span> <i class="material-icons">navigate_next</i></a> <div class="NavigationDrawer NavigationDrawer-submenuItem"> <nav class="NavigationDrawer-nav"> <div class="NavigationDrawer-header"> <a href="#"><i class="material-icons">navigate_before</i>Docs</a> </div> <ul class="NavigationDrawer-list"> <li class="NavigationDrawer-listItem"> <a href="/doc/effective_go"> Effective Go </a> </li> <li class="NavigationDrawer-listItem"> <a href="/doc"> Go User Manual </a> </li> <li class="NavigationDrawer-listItem"> <a href="https://pkg.go.dev/std"> Standard library </a> </li> <li class="NavigationDrawer-listItem"> <a href="/doc/devel/release"> Release Notes </a> </li> </ul> </div> </div> </li> <li class="NavigationDrawer-listItem "> <a href="https://pkg.go.dev">Packages</a> </li> <li class="NavigationDrawer-listItem js-mobile-subnav-trigger NavigationDrawer-hasSubnav"> <a href="#"><span>Community</span> <i class="material-icons">navigate_next</i></a> <div class="NavigationDrawer NavigationDrawer-submenuItem"> <nav class="NavigationDrawer-nav"> <div class="NavigationDrawer-header"> <a href="#"><i class="material-icons">navigate_before</i>Community</a> </div> <ul class="NavigationDrawer-list"> <li class="NavigationDrawer-listItem"> <a href="/talks/"> Recorded Talks </a> </li> <li class="NavigationDrawer-listItem"> <a href="https://www.meetup.com/pro/go"> Meetups <i class="material-icons">open_in_new</i> </a> </li> <li class="NavigationDrawer-listItem"> <a href="/wiki/Conferences"> Conferences <i class="material-icons">open_in_new</i> </a> </li> <li class="NavigationDrawer-listItem"> <a href="/blog"> Go blog </a> </li> <li class="NavigationDrawer-listItem"> <a href="/help"> Go project </a> </li> <li class="NavigationDrawer-listItem"> <div>Get connected</div> <div class="Header-socialIcons"> <a class="Header-socialIcon" href="https://groups.google.com/g/golang-nuts"><img src="/images/logos/social/google-groups.svg" /></a> <a class="Header-socialIcon" href="https://github.com/golang"><img src="/images/logos/social/github.svg" /></a> <a class="Header-socialIcon" href="https://twitter.com/golang"><img src="/images/logos/social/twitter.svg" /></a> <a class="Header-socialIcon" href="https://www.reddit.com/r/golang/"><img src="/images/logos/social/reddit.svg" /></a> <a class="Header-socialIcon" href="https://invite.slack.golangbridge.org/"><img src="/images/logos/social/slack.svg" /></a> <a class="Header-socialIcon" href="https://stackoverflow.com/tags/go"><img src="/images/logos/social/stack-overflow.svg" /></a> </div> </li> </ul> </div> </div> </li> </ul> </nav> </aside> <div class="NavigationDrawer-scrim js-scrim" role="presentation"></div> <main class="SiteContent SiteContent--default" id="main-content"> <div> <div class="WhoUsesSubPage-hero--useCase"> <div class="WhoUsesSubPage-heroInner--useCase"> <div class="WhoUsesSubPage-heroContent--useCase"> <div class="WhoUsesSubPage-heroText--useCase"> <ol class="SiteBreadcrumb"> <li class="BreadcrumbNav-li "> <a class="BreadcrumbNav-link" href="/solutions/"> Why Go </a> </li> <li class="BreadcrumbNav-li active"> <a class="BreadcrumbNav-link" href="/solutions/webdev"> Go for Web Development </a> </li> </ol> <h1>Go for Web Development</h1> <div class="Article-date">4 October 2019</div> </div> </div> </div> </div> <article class="Article Article--solutions"> <div class="UseCase-content"> <div class="UseCase-contentAside"> <div class="js-useCaseStickyNav UseCaseSubNav-anchorLinks"> </div> </div> <div class="UseCase-contentBody js-useCaseContentBody"> <h2 id="overview" class="sectionHeading">Overview</h2> <h3 id="go-delivers-speed-security-and-developer-friendly-tools-for-web-applications">Go delivers speed, security, and developer-friendly tools for Web Applications</h3> <p>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 <a href="https://pkg.go.dev/net/http" rel="noreferrer" target="_blank">HTTP/2</a>, to databases like <a href="https://pkg.go.dev/mod/github.com/go-sql-driver/mysql" rel="noreferrer" target="_blank">MySQL</a>, <a href="https://pkg.go.dev/mod/go.mongodb.org/mongo-driver" rel="noreferrer" target="_blank">MongoDB</a> and <a href="https://pkg.go.dev/mod/github.com/elastic/go-elasticsearch/v8" rel="noreferrer" target="_blank">Elasticsearch</a>, to the latest encryption standards including <a href="https://pkg.go.dev/crypto/tls" rel="noreferrer" target="_blank">TLS 1.3</a>. Go web applications run natively on <a href="https://cloud.google.com/appengine/" rel="noreferrer" target="_blank">Google App Engine</a> and <a href="https://cloud.google.com/run/" rel="noreferrer" target="_blank">Google Cloud Run</a> (for easy scaling) or on any environment, cloud, or operating system thanks to Go’s extreme portability.</p> <h2 id="key-benefits" class="sectionHeading">Key Benefits</h2> <h3 id="deploy-across-platforms-in-record-speed">Deploy across platforms in record speed</h3> <p>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.</p> <h3 id="leverage-gos-out-of-the-box-performance-to-scale-with-ease">Leverage Go’s out-of-the-box performance to scale with ease</h3> <p>Tigran Bayburtsyan, Co-Founder and CTO at Hexact Inc., summarizes five key reasons his company switched to Go:</p> <ul> <li> <p><strong>Compiles into a single binary</strong> — “Using static linking, Go actually combining all dependency libraries and modules into one single binary file based on OS type and architecture.”</p> </li> <li> <p><strong>Static type system</strong> — “Type system is really important for large scale applications.”</p> </li> <li> <p><strong>Performance</strong> — “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.”</p> </li> <li> <p><strong>No need for a web framework</strong> — “In most of the cases you really don’t need any third-party library.”</p> </li> <li> <p><strong>Great IDE support and debugging</strong> — “After rewriting all projects to Go, we got 64 percent less code than we had earlier.”</p> </li> </ul> <div class="FeaturedUsers"> <h2 id="featured-users" class="sectionHeading">Featured users</h2> <table> <thead> <tr> <th class="FeaturedUsers--hiddenMobile">Customer</th> <th>Brief introduction</th> <th>Projects using go</th> </tr> </thead> <tbody> <tr class="js-featuredUsersRow FeaturedUsers-row" > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/caddy.svg" alt="Caddy" class="DarkMode-img" /> <img src="/images/logos/caddy.svg" alt="Caddy" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/caddy.svg" alt="Caddy" /> Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Caddy offers greater memory safety than servers written in C. A hardened TLS stack powered by the Go standard library serves a significant portion of all Internet traffic. </td> <td> <ul> <li><a href="https://caddyserver.com/">Caddy 2</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/cloudflare-icon.svg" alt="Cloudflare" class="DarkMode-img" /> <img src="/images/logos/cloudflare-icon.svg" alt="Cloudflare" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/cloudflare-icon.svg" alt="Cloudflare" /> Cloudflare speeds up and protects millions of websites, APIs, SaaS services, and other properties connected to the Internet. “Go is at the heart of CloudFlare’s services including handling compression for high-latency HTTP connections, our entire DNS infrastructure, SSL, load testing and more.” </td> <td> <ul> <li><a href="https://blog.cloudflare.com/what-weve-been-doing-with-go/">Cloudflare and Go</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/govuk_dark.svg" alt="gov.uk" class="DarkMode-img" /> <img src="/images/logos/govuk_light.svg" alt="gov.uk" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/govuk_light.svg" alt="gov.uk" /> The simplicity and safety of the Go language were a good fit for the United Kingdom’s government’s HTTP infrastructure, and some brief experiments with the excellent net/http package convinced web developers they were on the right track. “In particular, Go’s concurrency model makes it absurdly easy to build performant I/O-bound applications.” </td> <td> <ul> <li><a href="https://technology.blog.gov.uk/2013/12/05/building-a-new-router-for-gov-uk/">Building a new router for gov.uk</a></li> <li><a href="https://technology.blog.gov.uk/2014/11/14/using-go-in-government/">Using Go in government</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" hidden > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/hugo.svg" alt="Hugo" class="DarkMode-img" /> <img src="/images/logos/hugo.svg" alt="Hugo" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/hugo.svg" alt="Hugo" /> Hugo is a fast and modern website engine written in Go, and designed to make website creation fun again. Websites built with Hugo are extremely fast and secure and can be hosted anywhere without any dependencies. </td> <td> <ul> <li><a href="https://gohugo.io/">Hugo</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" hidden > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/mattermost_dark.svg" alt="Mattermost" class="DarkMode-img" /> <img src="/images/logos/mattermost_light.svg" alt="Mattermost" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/mattermost_light.svg" alt="Mattermost" /> Mattermost is a flexible, open source messaging platform that enables secure team collaboration. It’s written in Go and React. </td> <td> <ul> <li><a href="https://mattermost.com/">Mattermost</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" hidden > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/medium_dark.svg" alt="Medium" class="DarkMode-img" /> <img src="/images/logos/medium_light.svg" alt="Medium" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/medium_light.svg" alt="Medium" /> Medium uses Go to power their social graph, their image server and several auxiliary services. “We’ve found Go very easy to build, package, and deploy. We like the type-safety without the verbosity and JVM tuning of Java.” </td> <td> <ul> <li><a href="https://medium.engineering/how-medium-goes-social-b7dbefa6d413">Medium's Go Services</a></li> </ul> </td> </tr> <tr class="js-featuredUsersRow FeaturedUsers-row" hidden > <td class="FeaturedUsers--hiddenMobile"> <img src="/images/logos/economist.svg" alt="The Economist" class="DarkMode-img" /> <img src="/images/logos/economist.svg" alt="The Economist" class="LightMode-img" /> </td> <td> <img class="FeaturedUsers--hiddenDesktop" src="/images/logos/economist.svg" alt="The Economist" /> The Economist needed more flexibility to deliver content to increasingly diverse digital channels. Services written in Go were a key component of the new system that would enable The Economist to deliver scalable, high performing services and quickly iterate new products. “Overall, it was determined that Go was the language best designed for usability and efficiency in a distributed, cloud-based system.” </td> <td> <ul> <li><a href="https://www.infoq.com/articles/golang-the-economist/">The Economist's Go microservices</a></li> </ul> </td> </tr> </tbody> </table> <button class="js-moreProjectsBtn FeaturedUsers-moreProjectsBtn" type="button"> More projects </button> </div> <h2 id="get-started" class="sectionHeading">Get Started</h2> <h3 id="go-books-on-web-development">Go books on web development</h3> <ul class="Learn-tileList"> <li class="Learn-tile"> <a href="https://www.amazon.com/Web-Development-Go-Building-Scalable-ebook/dp/B01JCOC6Z6"> <img class="Learn-tileThumbnail Learn-tileThumbnail--book" alt="Web Development with Go thumbnail." src="/images/books/web-development-with-go.jpg"> <span class="Learn-tileTitle"> Web Development with Go </span> </a> </li> <li class="Learn-tile"> <a href="https://www.amazon.com/Web-Programming-Sau-Sheong-Chang/dp/1617292567"> <img class="Learn-tileThumbnail Learn-tileThumbnail--book" alt="Go Web Programming thumbnail." src="/images/books/go-web-programming.jpg"> <span class="Learn-tileTitle"> Go Web Programming </span> </a> </li> <li class="Learn-tile"> <a href="https://www.amazon.com/Web-Development-Cookbook-full-stack-applications-ebook/dp/B077TVQ28W"> <img class="Learn-tileThumbnail Learn-tileThumbnail--book" alt="Web Development Cookbook: Build full-stack web applications with Go thumbnail." src="/images/books/go-web-development-cookbook.jpg"> <span class="Learn-tileTitle"> Web Development Cookbook: Build full-stack web applications with Go </span> </a> </li> <li class="Learn-tile"> <a href="https://www.amazon.com/Building-RESTful-Web-services-gracefully-ebook/dp/B072QB8KL1"> <img class="Learn-tileThumbnail Learn-tileThumbnail--book" alt="Building RESTful Web services with Go thumbnail." src="/images/books/building-restful-web-services-with-go.jpg"> <span class="Learn-tileTitle"> Building RESTful Web services with Go </span> </a> </li> <li class="Learn-tile"> <a href="https://www.amazon.com/Mastering-Web-Services-Nathan-Kozyra-ebook/dp/B00W5GUKL6"> <img class="Learn-tileThumbnail Learn-tileThumbnail--book" alt="Mastering Go Web Services thumbnail." src="/images/books/mastering-go-web-services.jpg"> <span class="Learn-tileTitle"> Mastering Go Web Services </span> </a> </li> </ul> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Web frameworks</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://echo.labstack.com/">Echo</a> <p>A high performance, extensible, and minimalist Go web framework</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://www.flamingo.me/">Flamingo</a> <p>A fast open-source framework based on Go with clean and scalable architecture</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://gin-gonic.com/">Gin</a> <p>A web framework written in Go, with a martini-like API.</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://www.gorillatoolkit.org/">Gorilla</a> <p>A web toolkit for the Go programming language.</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="https://pkg.go.dev/search?q=web+framework">View More</a> </div> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Routers</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/net/http">net/http</a> <p>A standard library HTTP package</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/julienschmidt/httprouter?tab=overview">julienschmidt/httprouter</a> <p>A lightweight high performance HTTP request router</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/gorilla/mux?tab=overview">gorilla/mux</a> <p>A powerful HTTP router and URL matcher for building Go web servers with 🦍</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/go-chi/chi?tab=overview">Chi</a> <p>A lightweight, idiomatic and composable router for building Go HTTP services.</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="https://pkg.go.dev/search?q=http%20router">View More</a> </div> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Template Engines</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/html/template">html/template</a> <p>A standard library HTML template engine</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/flosch/pongo2?tab=overview">flosch/pongo2</a> <p>A Django-syntax like templating-language</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="https://pkg.go.dev/search?q=templates">View More</a> </div> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Databases & Drivers</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/database/sql">database/sql</a> <p>A standard library interface with driver support for MySQL, Postgres, Oracle, MS SQL, BigQuery and most SQL databases</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=overview">mongo-driver/mongo</a> <p>The MongoDB supported driver for Go</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/elastic/go-elasticsearch/v8?tab=overview">elastic/go-elasticsearch</a> <p>An Elasticsearch client for Go</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://gorm.io/">GORM</a> <p>An ORM library for Go</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://blevesearch.com/">Bleve</a> <p>Full-text search and indexing for Go</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://www.cockroachlabs.com/">CockroachDB</a> <p>An evolution of the database—architected for the cloud to deliver resilient, consistent, distributed SQL at scale</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="https://pkg.go.dev/search?q=database%20OR%20sql">View More</a> </div> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Web Libraries</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/markbates/goth?tab=overview">markbates/goth</a> <p>Authentication for web apps</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/jinzhu/gorm?tab=overview">jinzhu/gorm</a> <p>An ORM library for Go</p> </li> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/dgrijalva/jwt-go?tab=overview">dgrijalva/jwt-go</a> <p>A Go implementation of json web tokens</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="https://pkg.go.dev/search?q=web">View More</a> </div> <div class="WhoUsesCaseStudy-librariesWrapper"> <div class="headerWithLink"> <h3>Other Projects</h3> </div> <ul class="WhoUsesCaseStudy-librariesList"> <li class="WhoUsesCaseStudy-library"> <a class="WhoUsesCaseStudy-libraryTitle" href="https://pkg.go.dev/github.com/gopherjs/gopherjs?tab=overview">gopherjs</a> <p>A compiler from Go to JavaScript allowing developers to write front-end code in Go which will run in all browsers.</p> </li> </ul> <a class="WhoUsesCaseStudy-librariesViewMoreLink" href="">View More</a> </div> <h3 id="courses">Courses</h3> <ul> <li><a href="https://www.usegolang.com" rel="noreferrer" target="_blank">Learn to Create Web Applications using Go</a>, a paid online course</li> </ul> <h3 id="projects">Projects</h3> <ul> <li><a href="https://pkg.go.dev/github.com/gopherjs/gopherjs?tab=overview">gopherjs</a>, a compiler from Go to JavaScript allowing developers to write front-end code in Go which will run in all browsers.</li> <li><a href="https://gohugo.io/" rel="noreferrer" target="_blank">Hugo</a>, The world’s fastest framework for building websites</li> <li><a href="https://mattermost.com/" rel="noreferrer" target="_blank">Mattermost</a>, a flexible, open source messaging platform that enables secure team collaboration</li> <li><a href="https://caddyserver.com/" rel="noreferrer" target="_blank">Caddy</a>, a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go</li> </ul> </div> </div> </article> </div> </main> <footer class="Site-footer"> <div class="Footer"> <div class="Container"> <div class="Footer-links"> <div class="Footer-linkColumn"> <a href="/solutions/" class="Footer-link Footer-link--primary" aria-describedby="footer-description"> Why Go </a> <a href="/solutions/use-cases" class="Footer-link" aria-describedby="footer-description"> Use Cases </a> <a href="/solutions/case-studies" class="Footer-link" aria-describedby="footer-description"> Case Studies </a> </div> <div class="Footer-linkColumn"> <a href="/learn/" class="Footer-link Footer-link--primary" aria-describedby="footer-description"> Get Started </a> <a href="/play" class="Footer-link" aria-describedby="footer-description"> Playground </a> <a href="/tour/" class="Footer-link" aria-describedby="footer-description"> Tour </a> <a href="https://stackoverflow.com/questions/tagged/go?tab=Newest" class="Footer-link" aria-describedby="footer-description"> Stack Overflow </a> <a href="/help/" class="Footer-link" aria-describedby="footer-description"> Help </a> </div> <div class="Footer-linkColumn"> <a href="https://pkg.go.dev" class="Footer-link Footer-link--primary" aria-describedby="footer-description"> Packages </a> <a href="/pkg/" class="Footer-link" aria-describedby="footer-description"> Standard Library </a> <a href="https://pkg.go.dev/about" class="Footer-link" aria-describedby="footer-description"> About Go Packages </a> </div> <div class="Footer-linkColumn"> <a href="/project" class="Footer-link Footer-link--primary" aria-describedby="footer-description"> About </a> <a href="/dl/" class="Footer-link" aria-describedby="footer-description"> Download </a> <a href="/blog/" class="Footer-link" aria-describedby="footer-description"> Blog </a> <a href="https://github.com/golang/go/issues" class="Footer-link" aria-describedby="footer-description"> Issue Tracker </a> <a href="/doc/devel/release" class="Footer-link" aria-describedby="footer-description"> Release Notes </a> <a href="/brand" class="Footer-link" aria-describedby="footer-description"> Brand Guidelines </a> <a href="/conduct" class="Footer-link" aria-describedby="footer-description"> Code of Conduct </a> </div> <div class="Footer-linkColumn"> <a href="https://www.twitter.com/golang" class="Footer-link Footer-link--primary" aria-describedby="footer-description"> Connect </a> <a href="https://www.twitter.com/golang" class="Footer-link" aria-describedby="footer-description"> Twitter </a> <a href="https://github.com/golang" class="Footer-link" aria-describedby="footer-description"> GitHub </a> <a href="https://invite.slack.golangbridge.org/" class="Footer-link" aria-describedby="footer-description"> Slack </a> <a href="https://reddit.com/r/golang" class="Footer-link" aria-describedby="footer-description"> r/golang </a> <a href="https://www.meetup.com/pro/go" class="Footer-link" aria-describedby="footer-description"> Meetup </a> <a href="https://golangweekly.com/" class="Footer-link" aria-describedby="footer-description"> Golang Weekly </a> </div> </div> </div> </div> <div class="screen-reader-only" id="footer-description" hidden> Opens in new window. </div> <div class="Footer"> <div class="Container Container--fullBleed"> <div class="Footer-bottom"> <img class="Footer-gopher" src="/images/gophers/pilot-bust.svg" alt="The Go Gopher"> <ul class="Footer-listRow"> <li class="Footer-listItem"> <a href="/copyright" aria-describedby="footer-description">Copyright</a> </li> <li class="Footer-listItem"> <a href="/tos" aria-describedby="footer-description">Terms of Service</a> </li> <li class="Footer-listItem"> <a href="http://www.google.com/intl/en/policies/privacy/" aria-describedby="footer-description" target="_blank" rel="noopener"> Privacy Policy </a> </li> <li class="Footer-listItem"> <a href="/s/website-issue" aria-describedby="footer-description" target="_blank" rel="noopener" > Report an Issue </a> </li> <li class="Footer-listItem go-Footer-listItem"> <button class="go-Button go-Button--text go-Footer-toggleTheme js-toggleTheme" aria-label="Toggle theme"> <img data-value="auto" class="go-Icon go-Icon--inverted" height="24" width="24" src="/images/icons/brightness_6_gm_grey_24dp.svg" alt="System theme"> <img data-value="dark" class="go-Icon go-Icon--inverted" height="24" width="24" src="/images/icons/brightness_2_gm_grey_24dp.svg" alt="Dark theme"> <img data-value="light" class="go-Icon go-Icon--inverted" height="24" width="24" src="/images/icons/light_mode_gm_grey_24dp.svg" alt="Light theme"> </button> </li> </ul> <a class="Footer-googleLogo" target="_blank" href="https://google.com" rel="noopener"> <img class="Footer-googleLogoImg" src="/images/google-white.png" alt="Google logo"> </a> </div> </div> </div> <script src="/js/jquery.js"></script> <script src="/js/carousels.js"></script> <script src="/js/searchBox.js"></script> <script src="/js/misc.js"></script> <script src="/js/hats.js"></script> <script src="/js/playground.js"></script> <script src="/js/godocs.js"></script> <script async src="/js/copypaste.js"></script> </footer> <section class="Cookie-notice js-cookieNotice"> <div>go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic. <a target=_blank href="https://policies.google.com/technologies/cookies">Learn more.</a></div> <div><button class="go-Button">Okay</button></div> </section> </body> </html>