Working with WebSockets and Go (Golang)


What You'll Learn

  •  How to work with Websockets in Go (Golang)
  •  How to build a real-time, responsive application using WebSockets
  • How to connect to third party services like Pusher, and how to use our own self-hosted Pusher-compatible service
  • How to build a real-time server monitoring web application
  • How to schedule periodic events in Go

  • How to write tests for websocket handlers
  • The basics of building a secure web application in Go
  • How to send SMS messages with Go using Twilio

Who this course is for

  • Developers who want to make their web applications faster and more responsive.
  • Developers who are familiar with Go, and want to learn how to build highly responsive web applications

Description

WebSockets are a technology that allows developers to build highly interactive, extremely fast web applications. Since WebSockets are supported by all modern browsers, and have been for years now, there is no reason why they cannot be implemented on any modern web application. This course will show you how to work with WebSockets with Go.

We will work with two kinds of WebSocket technologies: first, with simple calls directly from our web application to all connected browsers, where all functionality is handled by our application. The web application we'll build is a simple chat application, which will allow users to chat back and forth, and will show the list of connected users, updated in real time.

Next, we'll take advantage of a Pusher compatible server (or Pusher itself, if you prefer) and use that server as a message broker between our web application and all connected clients.

I am a firm believer that learning how to use a particular technology works best when applying it to a real-world situation. All too often, tutorials and courses over simplify what they are trying to teach, and create an artificial environment where things are so simple that what is being taught looks easy enough, but you immediately run into problems when trying to implement it on a more complex project. So, to implement and learn about WebSockets and Pusher, we'll build a web application which monitors remote servers and hosts, and notifies us in real-time when a service goes down or comes back up again. We will send notifications in real time using WebSockets (which will update the appropriate content on the pages being viewed by all connected clients), by email, and, as a bonus, we'll also learn how to send notifications using text messages (SMS) with Twilio.