Go 1.11 Adds WebAssembly Port
Written by Kay Ewbank   
Thursday, 30 August 2018

The half-yearly update to Go has been released with an experimental port to WebAssembly and preliminary support for modules.

Go is an open source project developed by a team at Google and many contributors from the open source community over more than 8 years. The main intended use is as a systems programming language, and it has been used in high profile commercial successes such as Docker.

The port to WebAssembly is still experimental. Go programs using the new feature compile to a single WebAssembly module that includes the Go runtime for goroutine scheduling, garbage collection, maps, and other Go essentials, resulting in a module of at least 2MB, or 500KB when compressed. Go programs can also call into JavaScript using a new experimental package. WebAssembly is a binary instruction format for a stack-based virtual machine. It is designed as a portable target for compilation of high-level languages like C/C++/Rust so apps can be deployed on the web for client and server applications.

Go 1.11 also adds preliminary support for a new concept called modules. In Go terms, this is an alternative to GOPATH with integrated support for versioning and package distribution. Using modules, developers are no longer confined to working inside GOPATH. Other advantages are that version dependency information is explicit yet lightweight, and builds are more reliable and reproducible.

Module support is considered experimental in its current form, and details are likely to change in response to feedback from Go 1.11 users. The developers also have more tools planned. They say that although the details of module support may change, projects that convert to modules using Go 1.11 will continue to work with Go 1.12 and later. 


More Information

Go 1.11 Release Notes

Related Articles

Go Drops The Gopher - The End is in Sight

Go 1.10 Adds Automatic Caching

Go At Eight

Why invent a new language? Go creator explains

A Programmer's Guide To Go

A Programmer's Guide To Go Part 2 - Objects And Interfaces

A Programmer's Guide To Go Part 3 - Goroutines And Concurrency

Go 1.9 Adds Parallel Compilation

Go 1.8 Goes Faster

Go Language Of The Year With Dart Catching Up 

Go Turns Seven With Lots Of Attention 

Go 1.7 Goes Faster and in More Directions

Go 1.6 Released

Go 1.5 In Beta

Go 1.4 gets Android support 

Go 1.3 Released

A Programmer's Guide To Go

Why invent a new language? Go creator explains

Go Is Four

Go with Google - Yet Another Language! 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Success For Vesuvius Challenge

The Vesuvius Challenge has ended with $700,000 awarded to a trio of students who successfully deciphered text on a physically impenetrable 2,000-year-old papyrus scroll that had been buried under [ ... ]

OpenSilver 2.1 Adds F# Support

OpenSilver 2.1 has been released with improvements including support for F#. The open-source alternative to Silverlight is capable of running large, complex legacy applications, as well as newly writt [ ... ]

More News

raspberry pi books



or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 30 August 2018 )