O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mark Bates on Go Web Frameworks and Techniques

Video Description

Open source Go, the concurrent garbage-collected programming language that scales big and fast, is the emerging language of the Cloud. Russ Cox, technical co-leader of the Go Project at Google, described Go at a Boston area Google Developers Group meeting this way, “Go is a fast, fun, and productive language for writing programs.”

In this third in a series video about how to program with Go, Mark Bates, Go expert extraordinaire, ladles a big helping of the special Go sauce that makes this language so tasty. There is a lot to consume in this serving—22 segments—so settle in for a big meal.

  • Build and test a basic web app in Go
  • Handle and test multi-part file uploads
  • Bundle, access and serve static assets like templates and JavaScript
  • Build a router with TDD, then test Pat and Mux, the popular 3rd party routers
  • Create a middleware stack for HTTP, use it to understand how Go manages variable context
  • Render JSON, XML and more with Package
  • Work with EventSource, Goth, Gopher JS, the Revel web framework, HttpRouter, Echo, and go.rice
  • Get more on the ins and outs of JSON encoding/decoding
  • Produce a scalable echo server using Gorilla Web Toolkit’s WebSocket
  • Configure Go to serve content over HTTP and HTTPS; Build a proxy server to a back-end Rails app

Table of Contents

  1. Go Templates 00:14:37
  2. Basic Web Apps 00:13:59
  3. Testing Go Web Apps 00:17:21
  4. File Uploads in Go 00:16:20
  5. Bundling Assets 00:11:25
  6. Routing Part 1 00:12:46
  7. Routing Part 2 00:21:31
  8. Middleware 00:19:05
  9. Render 00:12:27
  10. EventSource with Go 00:16:45
  11. Goth 00:15:22
  12. GopherJS 00:15:30
  13. Revel Part 1 00:16:24
  14. Revel Part 2 00:18:50
  15. Revel Part 3 00:17:10
  16. HttpRouter 00:18:32
  17. go.rice 00:11:46
  18. JSON 00:14:54
  19. Websockets Part 1 00:18:47
  20. Websockets Part 2 00:13:06
  21. HTTPS 00:15:16
  22. Echo 00:19:33