Daily Go: Rapid Web Development with Buffalo

By Gopher Guides

This module covers general environment setup and other resource related information needed to complete the courses contained within.

Buffalo is a web ecosystem, and not a framework. This module will cover why writing web sites using the standard library is so painful, and what Buffalo does to make it not only easier, but much faster and maintainable as well.

Actions are used to configure your application, routing, middleware, and more. Routes are used to create distinct namespaces in your application that you can navigate to.

Buffalo ships with a number of implementations designed to give you the most flexibility when redering your views. This module will cover those implementations, the plush templating library, and many built in helpers.

This module will cover the basic CRUD implementations using Buffalo, as well as migrations, and how to test your CRUD actions.

Working with form data is one of the most common tasks a web application has to do. This module will cover how to bind data, writing forms, and form validation.

Go has the ability to build and cross compile with ease. This chapter will cover the different ways to build your binary and additionally covers concepts for embedding build information such as version and GitHub SHA-1 hash. See how build tags are used to conditionally include specific branches of code by targeting specific platforms or simply using the tags provided.

One of Go's strengths is it's ability to build a statically linked binary for a wide variety of platforms. Buffalo builds up on this strength. This module will cover how to build Buffalo for different operating systems and architectures, as well as how to deploy via Docker and Heroku.

This module covers where to get more support on Go, recommends books and videos, and list contact information for our instructors.

Buffalo is a Go web development eco-system, designed to make the life of a Go web developer easier.

Buffalo starts by generating a web project for you that already has everything from front-end (JavaScript, SCSS, etc...) to back-end (database, routing, etc...) already hooked up and ready to run. From there it provides easy APIs to build your web application quickly in Go.

Buffalo isn't just a framework, it's a holistic web development environment and project structure that lets developers get straight to the business of, well, building their business.

What you'll learn-and how you can apply it

  • Have an Introduction to the Buffalo Web Framework
  • Build scalable, fast, and highly concurrent HTTP applications

This training course is for you because...

  • You are a Go developer and you need to build scalable web applications
  • You are interested in writing web applications in Go
  • You are a web developer and want to build highly scalable applications quickly and easily.

Prerequisites

  • A fully working Go environment and can build a “basic” Go application without the need for documentation and other “guides.”
  • A basic understanding of web technologies such as HTML, JavaScript, and CSS.
  • Operating Systems
  • Has worked with a command shell.
  • Knows how to maneuver around the file system.
  • Understands what environment variables are.