Mastering LiveView development in Go GoLang

Modern Phoenix LiveView inspired development in GoLang, where JS is not needed (almost).
Mastering LiveView development in Go GoLang
File Size :
1.60 GB
Total length :
4h 21m



David Marko


Last update




Mastering LiveView development in Go GoLang

What you’ll learn

Real-time user experiences with server-rendered HTML
Phoenix(Elixir) LiveView-like programming in Go
Form-based UI using Live(View)
Pub/Sub based user communication using Live(View)
Periodic background jobs using Live(View)
Creating a single-page application in one file
Integration with Fabric framework
Handling application events in a declarative way
Using websocket communication between frontend and backend

Mastering LiveView development in Go GoLang


Basic programming skills in Go language
Basic Web development skills


Welcome to the ‘Mastering Live(View) programming in Go’ course. With this course, you will add value to your existing Go Lang knowledge by getting familiar with several web development techniques known as a ‘LiveView’ programming model introduced within the last several years. We will focus on several topics popular when building web applications and we take a look at how to implement those features using Live(View) techniques where JS usage is not needed or minimized at least. We are going to see how the Live(View) programming approach makes web app development easier to do and more solution-oriented. What you’ll learnCreate interactive web apps in GoLangUse of websockets as a modern technique for client-server communicationKnowledge of creating UI based apps with your current GoLang backend skillsUse of Push techniques for updating users from backendCreate collaboration types of applications using popular LiveView approachSpeed-up your development with modern programming techniquesCreate highly maintainable and easy to read application codeWhat is the LiveVew programming approach/model?LiveView provides rich, real-time user experiences with server-rendered HTML. The LiveView programming model is mostly declarative: instead of saying “when event ABC happens, change XYZ on the page”, events in LiveView are managed by handlers bound to event id. Once the state changes, LiveView will re-render the relevant parts of its HTML template(calculate diff) and push it to the browser, which updates itself most efficiently. This means developers write LiveView templates as any other server-rendered HTML and LiveView does the hard work of tracking changes and sending the relevant diffs to the browser using websocket communication. Phoenix Framework widely popularized this approach and there are implementations for many significant languages or platforms.Topics covered by this course:During the course, we create a basic web application in Go Lang with a Live(View) approach. The main topics include:LiveView-inspired programming – technical infoKey Live(View) concepts explainedThermostat – interactive application without JSImplementation of Pub/Sub communicationEnhancing thermostat – implementation of chat, clock, JS hooksLive(View) in popular frameworksIntegration of Live(View) application with NATS serverAn important part of this course is to realize ‘what we don’t need to do’ when using the Live(View) approach. Simplification can be huge and the old saying that ‘the best code is the code you don’t have to write’ is proven here.Summary:The goal of this course is to make a guide in the Live(View) programming world. We use a pragmatic approach by building real applications and exploring the Live(View) programming model practically.GitHub repository:The source code is available through the link attached to the last lecture in this course. You can clone the repo and use the code snippets we are building in this course.


Section 1: Introduction

Lecture 1 Introduction

Section 2: LiveView inspired programming – technical info

Lecture 2 Application communication flow

Lecture 3 Websocket as a horse power for your application

Section 3: Key Live(View) concepts explained

Lecture 4 Core minimum application structure

Lecture 5 Handling Events

Lecture 6 Using Params

Section 4: Thermostat – interactive application without JS

Lecture 7 Thermostat Feature Overview

Lecture 8 GoLang App – minimal setup

Lecture 9 Creating Live(View) application core

Lecture 10 Starting with Thermostat UI

Lecture 11 Mounting application to backend

Lecture 12 Side note: Where backend state is stored?

Lecture 13 Buttons and click events – part 1

Lecture 14 Buttons and click events – part 2

Lecture 15 What we are not doing?

Lecture 16 Getting and displaying the username

Lecture 17 Communicating the status to UI

Lecture 18 Overview

Section 5: Quiz

Section 6: Live with Pub/Sub – real-time communication

Lecture 19 Technical introduction

Lecture 20 Basic application setup updates

Lecture 21 Using Pub/Sub for communication for status updates

Lecture 22 Implementing status history updates

Lecture 23 What we are not doing

Section 7: Thermostat – adding a new features

Lecture 24 Adding a temperature warning

Lecture 25 Adding a clock

Lecture 26 Adding a chat like communication

Lecture 27 Working with custom JS using ‘hooks’

Lecture 28 Managing temperature using a keyboard

Lecture 29 What we are not doing

Section 8: Live(View) with other popular frameworks

Lecture 30 Live(View) with Fiber Framework – part 1

Lecture 31 Live(View) with Fiber Framework – part 2

Lecture 32 Using Django compatible template engine

Section 9: Live(View) integration with NATS server (external Pub/Sub system or MQ)

Lecture 33 What is NATS Server

Lecture 34 Setting up an external NATS periodic message publisher

Lecture 35 NATS Go client setup

Lecture 36 Making a Live app receiving and displaying NATS data

For all existing or new Go programmers with an interest for LiveView like programming approach when building interactive applications easily.

Course Information:

Udemy | English | 4h 21m | 1.60 GB
Created by: David Marko

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top