WebAssembly has grown far beyond its original intent of being used to develop web applications, and can now be found in many corners of the technology landscape. Starting today and continuing tomorrow, many technologists are gathering in Bellevue, Washington for WasmCon to learn more about the technology and hear talks from industry experts.
The results of the State of WebAssembly 2023 report were published at the event, revealing that 58% of users are utilizing WebAssembly for web applications, 35% for data visualization, 32% for IoT, and 30% for AI. Other common uses were games, backend services, edge computing, and platform emulation.
“This indicates that WebAssembly has a lot of potential and can be beneficial to all developers across a multitude of sectors and not just those involved in front-end web development,” the report authors concluded.
When asked what brought them to WebAssembly, 23% said faster loading times, 22% said exploring new use cases and technologies, 20% said to be able to share code between projects, 20% said improved performance over JavaScript, and 19% said efficient execution of computationally intensive tasks.
One of the benefits of WebAssembly is its portability, and 64% of respondents are porting existing applications to new platforms and 62% are migrating existing applications to new languages. Seventy-six percent of respondents are developing new applications in WebAssembly.
34% of survey respondents said they are making use of the WebAssembly System Interface (WASI), and another 34% plan to adopt it in the next year.
The most recent stable iteration of the WASI standard was announced earlier this summer. WASI-Preview-2 focuses on making improvements in three areas: the core WebAssembly specification, WebAssembly Components and WebAssembly Interface Types, and WASI.
Notable improvements to the core specification included development of Code Wasm Threads Prototype and garbage collection.
Key updates to WebAssembly Components and WebAssembly Interface Types included integration of component naming and versioning, and the addition of resource and handle types.
“The WebAssembly Component Model is more than just a standard,” Liam Randall, CEO of Cosmonic and co-chair of WasmCon said. “It’s a movement of people that are standardizing on supporting the WebAssembly component model, because of its properties, like radical portability. Components that run on Cosmonic run on any other WebAssembly component framework, as well. And that’s the magic.”
WASI added two new world definitions, which are a complete description of “both imports and exports of a component and may be used to represent the execution environment of a component,” according to the Bytecode Alliance, a nonprofit organization built around WebAssembly standards. The two new world definitions in WASI-Preview-2 are CLI world, which provides the commonly available APIs and command-line facilities, and HTTP Proxy world, which is an environment that captures an intersection of hosts, including HTTP forward and reverse proxies.
Another major announcement today was the Cloud Native Computing Foundation (CNCF) publishing the initial Wasm landscape, which includes 120 projects spread across 11 categories.
The 11 categories are grouped into two groups: application development and application deployment. Categories in application development include programming languages, runtimes, application frameworks, edge/bare metal, AI inference, embedded function, and tooling. Application deployment categories include orchestration and management, hosted platform, debugging and observability, and artifacts.
“As Wasm is adopted across cloud-native projects, products, and services, the CNCF worked together with the Wasm community to create a Wasm landscape to help better understand the scope of the Wasm ecosystem. As the original Cloud Native Landscape helped chart the massive ecosystem around cloud native technologies, we believe the same is needed for Wasm as the ecosystem evolves and grows,” the authors of the landscape wrote in a blog post.