Keynote: What is a Component (and Why)? - Luke Wagner, Distinguished Engineer, Fastly
The Linux Foundation3 HN recommenders · recommended in 3 months, 2024-2026
7K views · 3 years ago · talk · evergreen
Luke Wagner of Fastly explains what a WebAssembly component is, how it relates to familiar concepts, and what the Component Model enables. It emphasizes security, composability and modularity.
HN recommends it as the best starting point for understanding the Wasm Component Model and WASI direction, straight from its designer.
35:32Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
ReactEurope
63K views • 10 years ago
44:36Hacker Way: Rethinking Web App Development at Facebook
Meta Developers
900K views • 12 years ago
29:47The Truth about Rust/WebAssembly Performance
Greg Johnston
218K views • 3 years ago
25:47React.js Conf 2015 - The complementarity of React and Web Components
Meta Developers
22K views • 11 years ago
1:16:07React Helsinki February 2020
Fraktio
42K views • 6 years ago
52:23Nicholas Zakas: Scalable JavaScript Application Architecture
YUI Library
68K views • 15 years ago
27:45React.js Conf 2016 - Ben Alpert - What Lies Ahead
Meta Developers
50K views • 10 years ago
37:11CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli
WebAssembly NA
7K views • 6 years ago
45:05Servo Architecture: Safety and Performance
linux conf au 2017 - Hobart, Australia
12K views • 9 years ago
41:19Stuart Sierra - Components Just Enough Structure
ClojureTV
36K views • 12 years ago
1:07:46Building a Better Web Browser - James Mickens - Harvard CS Colloquium 2015
Paul Irish
29K views • 10 years ago
1:32:47Data-Oriented Demo: SOA, composition
Jonathan Blow
201K views • 11 years ago
24:28Sebastian Markbage: Minimal API Surface Area | JSConf EU 2014
JSConf
71K views • 12 years ago
1:11:55ElixirConf 2019 - Day 1 Morning Keynote - Brian Cardarella, Luke Imhoff, Paul Schoenfelder
ElixirConf
8K views • 7 years ago
54:58Keynote - JSON Graph: Reactive REST at Netflix
Association for Computing Machinery (ACM)
41K views • 11 years ago
19:36Your web app but good: Aaron Boodman (Local-First Conf)
Local-First Conf
8K views • 2 years ago
29:32Pete Hunt: React: Rethinking best practices -- JSConf EU
JSConf
548K views • 13 years ago
13:45A 10x faster TypeScript
Microsoft Developer
608K views • 1 year ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
35:42Progressive Performance (Chrome Dev Summit 2016)
Chrome for Developers
34K views • 10 years ago
7 comments from Hacker News
> - "What is a Component (and Why)?" (WasmCon 2023): ▶ this video At 18:00 the speaker states something like "It should not be Systems Interface but Standard Interfaces" which honestly sounds like a different project. As an implementer or even as just a user in general, can it be trusted that tomorrow it isn't something completely different? Seems like an odd standard to follow.
I don't think it's fair to say this work has happened in the shadows. I work on CNCF wasmCloud, and I know how hard we try to make this content available. - Many standing meetings organized around SIGs, all on the public community calendar: link - A dedicated Zulip: link - Conferences organized around exactly these topics: Wasm Day, WasmCon, Wasm I/O, and the Bytecode Alliance Plumbers Summit - CNCF projects: wasmCloud, Spin - Blogs, many with recordings, summaries, and transcripts: link , link , link If you want the architectural direction straight from the source, Luke Wagner's keynotes are the best place to start: - "What is a Component (and Why)?" (WasmCon 2023): ▶ this video - "The Path to Components": link - "Towards a Component Model 1.0" (Wasm I/O 2026): link I mean this, though - what else would you like to see to try and make the content and process more accessible? Are there communities that are doing this really well that we could use for inspiration?
We are more or less trying to solve this exact problem with Wasm Components [1]. If core WebAssembly is a portable instruction format, WebAssembly Components are a portable executable/linkable format. Using them is unfortunately not yet quite as easy as using repr(wasm)/extern "wasm". But with wit-bindgen [2] and the wasm32-wasip2 target [3], it's not that hard either. [1]: ▶ this video [2]: link [3]: link
WASI preview1 modules aren't very modular. You can't compose them. All you can do is one shot compile & bundle the world into one massive module. You can't use that module to power another module, it basically has to be standalone. Luke Wagner has a talk going through WASI 0.2 that's pretty excellent. The title is What is a component (and why)? , and we go step by step through the properties component-model enables: a Standard Portable Lightweight Finely-Sandboxed Cross-Language Compositional Module . You get basically none of these without component-model. ▶ this video The properties are amazing. Not only do we get Cross-Language, not only do we get composable, but ideally we get very very lightweight sandboxed processes that can safely re-use modules already loaded by the runtime. This could be such an incredible way to sandbox actively, with a base of supportinginrsriss dwarfing anything computer science has done before. The wasm view here has been so shortsighted & brutal. Once again, the hype cycle has gotten big enough that a lot of people are very angry & actively trying to tear down & discredit. Like systemd, like K8s. With not even a passing attempt to show balanced views in the process, no nods to the possible or good, just remorseless total war. This is the famous typical dripping sense of disdain, arising again in angry stirrings, here now to rage against component-model. Holy shit yes is it ambitious and hard. Yes you should be afraid of failure, of this crew not pull
Now that there's a canonical ABI as specified by component-model, it seems like the good work can start. As recommended elsewhere in the comments, there's a pretty damned fine talk my Luke Wagner that covers wasm components & the promise. He talks about cross-platform was 18m35s in: ▶ this video
This does such a good job laying out the real fundamentals of what's happening. Capabilities model, component-model; it's well covered and nicely tied together. The WasmCom keynote What is a component? (and why?) by Luke Wagner is also a great intro. ▶ this video
I thought this keynote presentation[0] by Luke Wagner at Wasmcon was great and covered it very well. I also found the WIT Format design doc[1] in the component model repo to be the most complete explanation of how it's all going to hang together. [0]: ▶ this video [1]: link