From the V8 team to the Emscripten toolchain team to the many product teams that benefit from the advantages of Wasm in their libraries and flagship apps, WebAssembly plays a crucial role in Google’s strategy. This talk gives a comprehensive overview of the many ways Wasm is used at Google.
Google is a large company with products that typically need to support multiple platforms, but the cost of supporting all features on all platforms has become untenable for team velocity. Most product teams see Wasm as the missing piece to align investments and hit all platforms with all features. On the product side, for example, Google Photos whose team says with Wasm the old dream of “Write once, run anywhere” has become true. Google Maps makes use of Wasm in several components. Google Earth was one of the first products to ship Wasm in production on the Web. Google Meet uses Wasm to optimize several hotpaths. Google Sheets enabled Java-to-Wasm compilation for their calculation engine and was crucial in driving WasmGC. In the libraries space, Tensorflow.js has a Wasm-based CPU backend that is faster for some workloads than GPU. Ink is a low-latency freehand drawing library used by many products including Canvas, Keep, YouTube, and more. Kotlin compiled to WasmGC combined with Compose Multiplatform promises to bring Android apps to the Web. The Flutter framework compiles Dart to WasmGC and via CanvasKit enables consistent and pixel-perfect UI across all platforms. On the server side, various teams in Google Cloud are exploring Wasm options to power, for example, cloud functions. For toolchains, Emscripten and ultimately the V8 team keep pushing the boundary of what’s possible by implementing new standards like WasmGC, JS Promise Integration, multiple memories, and much more. After attending the talk, the audience will have a better understanding of the manyfold ways in which WebAssembly is being used at Google.