Working with WebSockets in Go (Golang)

How to make highly interactive and responsive applications using WebSockets and Go

Course Summary

Who Is This Course 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

Requirements

  • A basic knowledge of the Go programming language 
  • A basic knowledge of Javascript 
  • An internet connected computer (Windows, Mac, or Linux) 

What You Will Learn

  • How to work with Websockets in Go (Golang)
  • How to connect to third party services like Pusher, and how to use our own self-hosted Pusher-compatible service
  • How to schedule periodic events in Go
  • The basics of building a secure web application in Go 
  • How to build a real-time, responsive application using websockets 
  • How to build a real-time server monitoring web application
  •  How to write tests for websocket handlers
  •  How to send SMS messages with Go using Twilio

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.

Course Pricing

Enroll in course

$19.99 CAD

Buy Now

Course Curriculum

Trevor Sawler

Trevor has more than twenty years of experience in professional software development, and over 30 years of experience as a university professor. As an entrepreneur, he has worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. He also has extensive management and project management experience. He has led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects. Trevor continues to work projects for a variety of clients every day. As a professor, he has taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields. He has won regional, national, and international awards for his work in the IT field, and has also won awards for his teaching and research as a University professor.