How to create a React app with Golang support using WebAssembly


Why create-react-app?

create-react-app allows us to quickly generate the boilerplate required to bootstrap a react application, providing a level of abstraction above the nitty-gritty infrastructure required to create a modern react app (Webpack, Babel, ESlint, etc.)

Why include Golang?

Go is a statically typed, compiled programming language designed at Google, it is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency.
In my case, I needed to run Go for JSON schema validations, in other cases, you might want to perform a CPU-intensive task or use a CLI tool written in Golang.

But WebAssembly is not supported in all browsers!

I thought so too. In reality, since November 2017, WebAssembly is supported in all major browsers. So as long as you don’t need to support Internet Explorer, there is nothing to worry about.