logo Buffalo slack logo


Welcome aboard!

While Buffalo can be considered as a framework, it’s mostly an ecosystem of Go and Javascript libraries curated to fit together. Most of these components can be switched for another, but we’ll only provide support for this default mix.

In this chapter, we’ll make a tour of the default bricks shipped with your Buffalo app.

Backend libraries


Buffalo is the “glue” between all the provided components. It wraps the libraries and manages the workflow.


gorilla/mux is one of the most used routers in Go. While some routers are faster (like httprouter), gorilla/mux is the one providing the most features while being fast enough.


pop is the default ORM for Buffalo. It provides the soda toolbox to help you with your database needs and supports several databases, such as PostgreSQL, MySQL and SQLite.


plush is the default templating engine for Buffalo. Its syntax is close to ERB templates (in Ruby).

Frontend libraries


Bootstrap is one of the most famous frontend toolkit library. It helps to build responsive interfaces using common components like tables, carousels or grid layouts.


jQuery is a rich library aiming to make DOM manipulation and AJAX queries simple. While it’s less used now, many projects still have it as a side-companion to help supporting all the browsers.


Webpack is a well-known Javascript assets bundler. It will take care of your Javascript, CSS, images and static assets files.

Webpack is configured by default to hash and minify your assets.

Next Steps