What are the challenges of following the development of the growing WebAssembly ecosystem as a toolchain and runtime maintainer? How do we address hard issues such as backward compatibility? How and how much should we care?
–
As an early adopter, the WebAssembly space is like a candy shop: I want a little bit of this, a little bit of that. After all, as you overcome the initial shock, all you need to do is pick a language, choose a runtime and a platform, and then code away.
As a toolchain and runtime maintainer, keeping up with the stream of fast-paced updates of a moving target can at times be overwhelming. What are the challenges of adopting and implementing the growing number of proposed extensions both to the application layer and the core WebAssembly spec? What are the tradeoffs of making one choice over another? How should you prioritize the work?
In this talk, we share our experience with evolving the codebase of wazero, the open-source, zero-dependency WebAssembly runtime for Go developers, and we discuss the road ahead: finding a delicate balance between meeting the demand of a growing user base, keeping the trajectory of the industry in sight, and future-proofing for long-term maintainability.