Endless Possibilities

I’ve asked you a couple times in this book to pause and reflect on your accomplishments and what you’ve been able to do with WebAssembly. Now let’s reflect on those reflections, but with the added perspective of knowing that we can build portable, immutable binaries that can snap into applications running attached to hardware, running on our laptops, running on servers, or running in browsers.

Thinking about this fires just about every neuron in my brain. Just think, you could create autopilot software for drones in WebAssembly and swap out different “brains” without ever needing to do anything to the drone itself. You could test this software in 3D rendered desktop environments or in browsers, all without ever having to modify the WebAssembly module. These drone hosts could go from a search-and-rescue mission to playing Quidditch[39] with nothing more than an an over-the-air software update.

Factories, manufacturing facilities, power plants, and building management systems, all of which are normally tightly coupled to their hardware, could all benefit from this. Many of these places operate with hundreds of PLCs (Programmable Logic Controller) that interface with, monitor, and control all kinds of machines as shown in the figure.

images/iot/plc.jpg

What if instead of using languages like ladder diagrams or function blocks to program PLCs, we could just drop WebAssembly modules into them that adhered to a well-known specification? Then we could use whatever language we wanted to produce testable, verifiable, portable logic controllers that could control anything a PLC can control today.

WebAssembly files are just binary files. That means that we can encrypt them and we can digitally sign them. There are a ton of things that you could do to add a layer of security to using WebAssembly modules that might one day be able to prevent things like PLC viruses.[40]

With all of this talk of hardware, I have not forgotten the idea of using WebAssembly to build in-browser applications—far from it. You could spend all of your WebAssembly time doing nothing but building browser applications and never run out of things to do or build. But there’s a bigger picture here. WebAssembly is bigger than the web, it’s bigger than just IoT, and it’s bigger than most people give it credit for. Hopefully this little section of the book has inspired you, and you’re cooking up the next amazing thing right now—all based on WebAssembly.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.167.114