Go Tips: WebAssembly and Vugu

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • go

    The Go programming language

  • Go's official wiki,

  • However, because of the lack of experience using WebAssembly and Vugu I initially had some problems, let me elaborate more about how I solved those next. By the way all the code is available on Gitlab, feel fee to explore it and run it locally.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • brotli

    Brotli compression format

  • To use brotli to compress the final wasm file and,

  • gzipped

    Replacement for golang http.FileServer which supports precompressed static assets.

  • To use gzipped.FileServer (via github.com/lpar/gzipped/v2) to deliver that compressed asset with the corresponding headers if the client supports them.

  • vugu

    Vugu: A modern UI library for Go+WebAssembly (experimental)

  • Funny enough during GopherCon 2020 there was a presentation called Go is Not Just on Your Server, it's in Your Browser: The Story of and Introduction to Vugu (Go+WebAssembly UI library) by Brad Peabody, that covered Vugu A modern UI library for Go+WebAssembly that really piqued my interested.

  • rust

    Empowering everyone to build reliable and efficient software.

  • I've been learning Rust and WebAssembly in my free time for a few months already, nothing really crazy to be honest, just reading some docs, articles and blogs, watching some videos and attending a few live seminars to understand more. Rust and WebAssembly are closely related to each other and in practice I should be learning Rust first, but the truth is that most of my time has been dedicated to explore WebAssembly more deeply, specifically learning about the progress already made in Go as well as some ways to interact with WebAssembly using different packages and whatnot.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts