Oct 18, 2019

How developers can build the web with any programming language and WebAssembly

The WebAssembly ecosystem continues to push the boundaries of web development. As WebAssembly evolves, developers are able to build increasingly powerful applications in any language and port them to the browser or Node environments.

With the release of a new tool, dubbed Wasmer-JS, developers can build modules for the web in Rust, C, Java, and more. These modules can then be imported into JavaScript environments, including the browser.

These modules work by taking advantage of WebAssembly and WASI.

WebAssembly is a new technology that lets developers build next-gen web apps. Resource-intensive apps for the browser—like Google Earth and Doom—benefit from WebAssembly’s superior speed and performance.

WebAssembly System Interfaces (WASI) is an exciting new specification that allows running POSIX-like applications anywhere with WebAssembly. More simply, WASI modules let developers write more powerful WebAssembly code that can interface with an operating system.

Wasmer-JS lets developers use these WASI modules in JavaScript applications.

Anything that can be compiled into WASI can be imported into the browser. Developers can write code in any WASI-compiled language—like Rust, Go, C, Java, and C#—and integrate it into their web applications.

Developers now have a far broader scope for what can be ported to a JavaScript environment. For example, Rust developers can compile their applications to WASI and users can run it on their browsers.

While still in its infancy, WebAssembly and WASI open the door to a new wave of powerful apps built by developers in any language that are able to run in any modern browser.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.