A showcase of tools now available on the web thanks to WebAssembly.
WebAssembly enables developers to bring new performant functionality to the web from other languages. Over the past few years developers have really taken advantage of the possibilities. This post showcases just a few of the shiny new tools that you can benefit from, thanks in part to WebAssembly.
Tools and libraries you can use now
Without further ado, let's jump into the good stuff :D
This complete port of SQLite brings a lightweight, embedded, relational database management system into your hands. To learn more read this blog post that showcases this incredible port and how to use it.
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. You can find a wasm compiled version here (github repo) that lets you do all of this functionality directly in the browser.
Universal Scene Description (USD)
Universal Scene Description (USD) is a framework for 3D computer graphics data that focuses on collaboration, non-destructive editing, and enabling multiple views and opinions about graphics data. It's an industry standard supported by the likes of Pixar, Autodesk, Nvidia, and many more. It's still early days for their web support but Autodesk already open sourced a web based USD viewer which you can see here.
OpenCV is an industry standard of programming functions mainly for real-time computer vision. There is an easy-to-use npm package here, and for Emscripten users there are also detailed instructions for doing a full build. For a look at how SIMD and threads are improving performance of these workloads, you can watch this section of the Modern WebAssembly Chrome Dev Summit talk.
Cocos is a powerful and popular game engine that enables developers to build games with cross platform support and this now includes the web. It joins the long list of game engines that enable web export through wasm. To get started, jump into the Cocos editor and follow these instructions.
In addition to these specific examples, there is much to be excited about in terms of WebAssembly's potential to change the pace of new web functionality. Chrome has even set up the Advanced Web Apps Fund that can help developers fund their work to advance the web functionality available to all developers!