
Mozilla is working with the WebAssembly Community Group to design the WebAssembly Component Model, and Google is evaluating the model, according to Hunt. In his post, Hunt argued that despite WebAssembly adding capabilities such as shared memory, exception handling, and bulk memory instructions since its introduction 2017, it has been held back from wider web adoption. “There are multiple reasons for this, but the core issue is that WebAssembly is a second-class language on the web,” Hunt wrote. “For all of the new language features, WebAssembly is still not integrated with the web platform as tightly as it should be.”
WebAssembly has been positioned as a binary format to boost web application performance; it also has served as a compilation target for other languages. But Hunt argued that WebAssembly’s loose integration with the web leads to a poorer developer experience, so that developers only use it when they absolutely need it.
“Oftentimes, JavaScript is simpler and good enough,“ said Hunt. “This means [Wasm] users tend to be large companies with enough resources to justify the investment, which then limits the benefits of WebAssembly to only a small subset of the larger web community,” he wrote. JavaScript has advantages in loading code and using web APIs, which make it a first-class language on the web, wrote Hunt, while WebAssembly is not. Without the component model, he argued, WebAssembly is too complicated for web usage. He added that standard compilers do not produce WebAssembly that works on the web.

