In this episode, Thomas Steiner chats with Francis McCabe from Google, who’s the champion of the JavaScript Promise Integration and the Stack Switching proposals. They go from talking about synchronous assumptions in code over to discussing the JavaScript Promise Integration (JSPI) proposal and how to use it in practice, its performance implications, and how to use it in practice. After exploring a neat side effect of JSPI, namely lazy loading, the fall into the rabbit hole of comparing JSPI to the upcoming ES module integration of Wasm. Finally, Francis gives an overview of his other early stage Stack Switching proposal.
Chapters:
0:00 – Introducing Francis McCabe
1:32 – The Go! and Go(lang) programming experience
3:22 – Synchronous assumptions
6:29 – How the explainer explains JavaScript Promise Integration (JSPI)
11:23 – The performance impact of JSPI
13:44 – The JSPI standardization journey
20:30 – JSPI’s implementation status
22:33 – The JSPI origin trial
24:26 – Using JSPI in practice
28:05 – Lazy loading with JSPI
33:38 – E5 module integration and JSPI
38:08 – The Stack Switching proposal
47:59 – Wasm, but not
51:09 – Following Francis’ work
Resources:
The Paper introducing Go! → https://goo.gle/3AiyCrY
The JSPI proposal → https://goo.gle/3yxfkOM
JSPI entering origin trial → https://goo.gle/4cjprok
JSPI origin trial → https://goo.gle/4cmjxD4
Introducing JSPI → https://goo.gle/3YEPT90
The new JSPI API → https://goo.gle/4cie1RN
The JSPI API change → https://goo.gle/4cie1RN
Code example → https://goo.gle/3Arlq3P
Stack-Switching Proposal for WebAssembly → https://goo.gle/3Ar2KRM
The Vivant series → https://goo.gle/46Htp97
Watch more WasmAssembly → https://goo.gle/WasmAssembly
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs
#WebAssembly #Wasm #JSPI #Standardization
Speaker: Thomas Steiner