What is WebAssembly, and what is it not?

So what about writing entire Web Apps in WebAssembly?

Well, in general HTML and Javascript is best at this unless:

  • you want to port an existing desktop app to the Web
  • you want to port legacy plugin based apps such as Java applets, Flash etc.
  • you want to reuse browser-side code on the server
  • you need to write your web app in another language

Speaking of reuse — what about WASM on the server?

WebAssembly on the server is interesting when it comes to running the same code in the browser and on the server, but also for server-side security. The same sandbox that restricts WASM in the browser is also present on the server side. WASM is a good candidate for shipping containers to the cloud, since not only it’s not limited to a CPU architecture, but the container orchestrator would have even more control over capabilities provided to WASM containers, compared to Docker containers.

Wrapping up

WebAssembly is great for where computational performance is essential. It’s also excellent for reusing libraries written in other languages, as well as porting legacy applications to the web. If code-sharing with the server is important, and you want to use another language than JS/TS then such language support can provided by WASM, or if you simply want to write as little JS as possible.

How to pronounce WASM btw?

W-awesome :-)

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store