🚦 Signals 🚦 JavaScript's Stage 1 TC39 Proposal
Автор: Michigan TypeScript
Загружено: 2024-12-09
Просмотров: 2887
Signals is a Stage 1 Proposal to the TC39. To develop a complicated user interface (UI), JavaScript application developers need to store, compute, invalidate, sync, and push state to the application's view layer in an efficient way. UIs commonly involve more than just managing simple values, but often involve rendering computed state which is dependent on a complex tree of other values or state that is also computed itself. The goal of Signals is to provide infrastructure for managing such application state so developers can focus on business logic rather than these repetitive details.
https://github.com/tc39/proposal-signals
Welcome Chandler Prall back on the channel in this live talk, given May 7th 2024 in Ann Arbor, Michigan. Check Vena (what's demoed in this talk) as well as more of Chandler's open source work on his GitHub: https://github.com/chandlerprall.
00:00 in this episode...
01:56 about Chandler and this talk
03:20 what are Signals? here's some examples
07:07 let's build our own Signals
10:41 The TC39 Signals proposal
12:21 audience questions: who is this for?
15:19 how extending Signals would work
16:46 so then is useEffect actually a Signal?
18:26 why does this have to be a top-level class?
19:53 how Signals improves developer tools
20:32 Web Components: Benefits and Downsides
23:28 Web Components examples
26:09 about "slots"
28:18 Vena: Signaling Web Components
31:05 goals for Vena
32:25 how events work
34:25 context, state, and live reload
36:26 JSX
39:46 Demos!
Twitter: / mitypescript
BlueSky: https://bsky.app/profile/michigantype...
Mastodon: https://fosstodon.org/@MichiganTypeSc...
Threads: https://www.threads.net/@michigantype...
Instagram: / michigantypescript
TikTok: / michigantypescript
Discord: https://discord.michigantypescript.com
GitHub: https://github.com/MichiganTypeScript
SoundCloud: / michigan-typescript
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: