Working with WebSockets in Go (Golang) (Udemy.com)
How to make highly interactive and responsive applications using WebSockets and Go
Created by: Trevor Sawler
Last updated June 2024
What you will 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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 84 / 100
Course 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.
Instructor Details
- 4.2 Rating
443 Reviews
Trevor Sawler
I have twenty years of experience in professional software development, and twenty years of experience as a University professor.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have 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.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.
More courses by Trevor Sawler
Building Modern Web Applications with Go (Golang) (2022)
4.6 (5,848 Reviews)
Provider: Udemy
Time: 29.6h
$84.99
Working with Microservices in Go (Golang) (2024)
4.6 (3,186 Reviews)
Provider: Udemy
Time: 11.6h
$89.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
Building Web Applications with Go - Intermediate Level (2025)
4.8 (597 Reviews)
Provider: Udemy
Time: 18.7h
$84.99
More Web Development courses
Dialogflow Completo-Domine a Criação de Assistentes Virtuais (2021)
5.0 (1,579 Reviews)
Provider: Udemy
Time: 11.8h
$59.99
Python Fullstack Mastery: Build Modern Web Apps with Django (2025)
5.0 (165 Reviews)
Provider: Udemy
Time: 35h
$19.99
Nuxt.js Masterclass: Build Fast, SEO-Friendly Vue Apps (2026)
5.0 (38 Reviews)
Provider: Udemy
Time: 1.5h
$19.99
NgRx Signal store for Angular - The missing guide (2026)
4.9 (436 Reviews)
Provider: Udemy
Time: 11.3h
$89.99
Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia) (2024)
4.9 (177 Reviews)
Provider: Udemy
Time: 7.6h
$79.99
Reviews
By Cetin Erdem on 6/30/2026
I am not sure if professor still does courses but ı would like to see him do more. Honestly if ı was financially able and not banking on company learning. I would even try to ask him teach me privately. Alas ı do not have that means so ı enjoy his courses here
By George Karkuzashvili on 11/4/2025
I see a title about creating highly interactive applications using WebSockets and Go. And I hear about a monitoring program that uses Pusher and how to set up some templates that I will never use. Why do I need this? Waste of time.
By Matthew M Stein on 4/23/2025
After taking a few of your courses on the Go programming language I have to say thanks. You make complex and complicated topics approachable and have the industry and academic experience to make it so each course adds to my backend engineering repertoire. I feel taking 4 of your courses partially, has really opened my eyes to what is possible with the Go programming language. This journey to be a Full Stack Developer is only possible because of you, so thank you a ton for teaching with enthusiasm.
By Andrey Tikhonov on 8/7/2023
problems: 1. I have installed HTML Boilerplate in VS Code, but it does not work 2. for Windows to set templets path in var views = jet.NewSet( jet.NewOSFileSystemLoader("../../html"), jet.InDevelopmentMode(), ) 3. debugger get error 'main.go:9:9: undefined: routes (exit status 1)' line #9 is mux := routes()
By William Tran on 7/14/2023
Pretty comprehensive course about websockets. There are a lot of details and it took longer than expected to complete the course. Would like to know what approach could we take if another front end framework was involved like React and if the way we bind websockets change.
By Gmac McLennan on 2/13/2022
I have done a few of Trevor's courses and they are all very clear in the teaching and really excellent in terms of content. Cannot recommend him more highly as a teacher. There are so many techniques he gives you that can apply to different scenarios and he is very gracious with his time with regard to responding to help requests. One of the top teachers on Udemy IMHO.
By Martin Hermann on 1/20/2022
Top web application project for monitoring systems, but also a framework as a starter project for new ideas. Trevor has deep knowledge in Go (and also other languages) and questions are answered in very short time. Very useful invest for me.
By Rami Awar on 1/8/2022
First 3 sections were really good going through the basics and covering everything. But then section 4+ started using a project template with a thousand things going on, and I still didn't understand how the project was gonna work. Author got into so much details and low level explanations without explaining high level first. Couldn't keep going..
By Bruce Botes on 8/8/2021
I was not expecting such a thorough and in depth ( real world) example of a go web app. Trevor did a great job with vigilate. This course is great for those whom are cross skilling from node to go - as is in may case. There is really no need to buy another. Thx Trevor for a job well done.
By Karlan Astrego on 5/26/2021
Good course. Not an easy course. The first project is very good (5 stars). Gives you everything to start with websockets and go. The second project is way too complicated. After hours of coding you come back again to websockets. Take his "Building web applications with Go" first. The second project will then be much easier to follow.












