Udemy

Mastering Live(View) development in Go (GoLang)

Enroll Now
  • 9,669 Students
  • Updated 3/2024
4.6
(53 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
4 Hour(s) 20 Minute(s)
Language
English
Taught by
David Marko
Rating
4.6
(53 Ratings)
1 views

Course Overview

Mastering Live(View) development in Go (GoLang)

Modern Phoenix LiveView inspired development in GoLang, where JS is not needed (almost).

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 learn

  • Create interactive web apps in GoLang

  • Use of websockets as a modern technique for client-server communication

  • Knowledge of creating UI based apps with your current GoLang backend skills

  • Use of Push techniques for updating users from backend

  • Create collaboration types of applications using popular LiveView approach

  • Speed-up your development with modern programming techniques

  • Create highly maintainable and easy to read application code


What 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 info

  • Key Live(View) concepts explained

  • Thermostat - interactive application without JS

  • Implementation of Pub/Sub communication

  • Enhancing thermostat - implementation of chat, clock, JS hooks

  • Live(View) in popular frameworks

  • Integration of Live(View) application with NATS server


An 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.

Course Content

  • 9 section(s)
  • 36 lecture(s)
  • Section 1 Introduction
  • Section 2 LiveView inspired programming - technical info
  • Section 3 Key Live(View) concepts explained
  • Section 4 Thermostat - interactive application without JS
  • Section 5 Quiz
  • Section 6 Live with Pub/Sub - real-time communication
  • Section 7 Thermostat - adding a new features
  • Section 8 Live(View) with other popular frameworks
  • Section 9 Live(View) integration with NATS server (external Pub/Sub system or MQ)

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

Reviews

  • M
    Md. Golam mostafa
    5.0

    The course provided not just theoretical knowledge but also practical tips and tricks used in the industry. It's like getting insider insights into the field.

  • D
    David Marko
    5.0

    It was very easy to follow. Also content is great for creating interactive frontends directly in Golang. No extensive knowledge of JavaScript is required.

  • A
    Aaliyah Humphreys
    5.0

    Enjoying the gentle and clear introduction to the courses, excited too!

  • M
    Mohammed Lord
    5.0

    Definitely this is one of the best courses I've seen on Udemy. 100% recommended

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed