DEV Community

Ben Halpern
Ben Halpern

Posted on

What have been the most interesting WebAssembly demo/application so far?

As Webassembly makes progress, have you seen any interesting applications of the technology, even just concept demos? Share them with us!

Top comments (23)

Collapse
 
deciduously profile image
Ben Lovy • Edited

Google Earth is a solid proof of concept.

Also, sandspiel is pretty neat, implemented in Rust. His blog post about the project is a good read.

Collapse
 
rhymes profile image
rhymes • Edited

Wow! I read the post about how they made Google Earth and how they've dealt with the different capabilities of WebAssembly powered browsers. Can't wait for multi threaded Wasm to come back to Firefox :D

I skimmed the Sandspiel post and it's absolutely impressive. It's a journey in software architecture, optimization, game design and more stuff. I'll have to read it again more closely. Love how he embodied the spirit of WebAssembly by structuring the code that needed to be in Rust with Rust and the code that was good enough in JS, in JS. Also loved the dig at Firestore, which isn't cheap :D

Thanks for the links!

Collapse
 
deciduously profile image
Ben Lovy

Agreed on both points, but especially the sandspiel post - truly an impressive recap! I like how well it demonstrates the use of wasm as one part of a complete system - I'd wager most wasm apps will look more or less like that as opposed to an all-or-nothing deal. The WebGL stuff is totally foreign to me too, but super cool to see how he was able to seamlessly integrate all these complex moving parts.

Collapse
 
6temes profile image
Daniel

For more info about Google Earth and their migration to WebAssembly:

softwareengineeringdaily.com/2019/...

Collapse
 
ben profile image
Ben Halpern

Wow, absolutely! I feel like Google will always be able to flex in this way. Sandspiel is really cool too.

Collapse
 
ryansmith profile image
Ryan Smith • Edited

One that I always hear about is AutoCAD for the web. They were able to compile existing code from their 35-year old C++ application to WebAssembly. I think bringing existing resource-intensive desktop applications to the web is going to be a huge use case.
blogs.autodesk.com/autocad/autocad...

Collapse
 
sendilkumarn profile image
Sendil Kumar • Edited

squoosh is one of them

Collapse
 
adrienpoly profile image
Adrien Poly

I love squoosh

Collapse
 
alanmbarr profile image
Alan Barr • Edited

Pyodide Python notebook in the browser is interesting. I keep hearing excitement from C# developers about Blazor and one day replacing JavaScript. Who knows if that day comes?

Collapse
 
marvelouswololo profile image
MarvelousWololo

figma. definitely.

Collapse
 
aaronpowell profile image
Aaron Powell

I'll shamelessly sell promote here, but I made ozdevevents.azurefd.net/ which is a React + WASM (in Go) hybrid that shows a list of technical conferences in Australia by parsing a markdown file.

GitHub logo aaronpowell / oz-dev-events

An experiment with WebAssembly + Go on how to build it into a normal web dev pipeline

Australian Tech Events

Build Status

This is the source code for the Australian Tech Events website, a web UI over the top of the Readify DevEvents markdown files.

I build this mainly as an exercise in learning how to use Go and WebAssembly, and how they can fit into a modern web developer toolchain.

At the end of the day this is a React.js application, written in TypeScript, using webpack to compile and bundle the code.

The Code

The code lives in the src folder, with both the TypeScript and Go code all within there. To illustrate the nature of using Go with WebAssembly there is also a Go application that lives in src/markdown-tools/app, that loads up the core of the Go codebase (markdown-tools.go) and executes a request against a markdown file.

Running locally

To run it locally you'll need to have the following installed:

  1. Node.js (I've…
Collapse
 
iamschulz profile image
Daniel Schulz

Mozillas Arch Sculpture at the 2018 JSConf EU: hacks.mozilla.org/2018/06/babys-fi...

The Arch is a larger-than-life experience that uses 30,000 colored LEDs to create a canvas for light animations.
And you can take charge of this space. Using modules, you can create a light animation."

Collapse
 
willvincent profile image
Will Vincent

Figma makes use of webassemly I believe, which is how/why their web app performs like a native desktop application.

Am also fairly certain the browser versions of games output by Godot are webassemly, at least in part.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao • Edited
Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

I'm building ambulatory medical software, and my first WASM idea was that we could take viewing MRIs to new levels. Because there are so many layers of images, and because they can be manipulated in three definitions, it's a ton of processing power and data. I'm not the only one that has had this idea. WASM is mentioned more than halfway down the page, claiming that the software would run at about ~90% efficiency compared to a native desktop application.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

This is quite impressive - s3.amazonaws.com/mozilla-games/tmp... - a few years old now though. Also this - s3.amazonaws.com/mozilla-games/Zen...

Collapse
 
aswathm78 profile image
Aswath KNM

Google Earth. And ebay developed a QR reader

Collapse
 
burdier profile image
Burdier • Edited

Windows 10 calculator: calculator.platform.uno/
And Windows 200: bellard.org/jslinux/vm.html?url=ht...

Collapse
 
arswaw profile image
Arswaw

Doom 3 running in the browser is certainly up there.

Collapse
 
stephangalea profile image
Stephan Galea

Google maps, Autocad of course however worth mentioning wasm.continuation-labs.com/d3demo/