I generally use the command line tool to upgrade from Fedora 27 to Fedora 28. The first upgrade went without a hitch. On a second machine, I ran into a dependency problem requiring that I install the Fedora 28 version of the nss-pem package before starting the upgrade
Fedora 28 has the latest version of Go (version 1.10) which is very nice. I haven't paid attention to what the previous versions of Go Fedora comes with since I also install the latest version that is released on golang.org.
There are multiple ways to use WASM for web applications:
Porting existing code bases over to the browser - This is most often demonstrated with porting existing C/C++ code bases over to WASM through Emscripten and running what might previously been an exclusively desktop/native app (e.g. Autocad, games, etc.).
Go WASM does provide the ability to define callback methods and attach callbacks to browser events. This requires that the module is running because once it exists it's not longer available to the browser call call. Because of this, Go WASM is currently most appropriate for scenarios 2 & 3.
The keepalive() can also simply be
if the intention is just not let the module exit.
This example was inspired by what was presented at GopherCon by Hana Kim when gomobile was first announced.
Instead of re-writing Rob Pike's Ivy Interpreter for Android/iOS/command-line the example showed that the existing Go library was reused. Just like her example, this example shows that existing Go libraries can be used in WASM.
The resulting WASM module is about 4MB but when compressed, the whole web app was only about 1 MB.
This example really doesn't show anything that the previous example didn't already show. I wanted to try against a larger code base and didn't want to write it myself. It mainly just demonstrates an existing Go library being used with no changes needed to make it work.
The Ivy code is easy to port but if something is expecting to access a file system or make HTTP calls then the browser environment doesn't match. There isn't any standard file system and outbound calls uses XHRHttpRequest rather then the current HTTP package.
I'm very excited to see this land in Go 1.11 and look forward to see what other developers use it for!