JS Party
This is going to be Lit 🔥
Justin Fagnani joins us this week to talk about Lit, a library that helps you build web components. With 17% of pageviews in Chrome registering use of web components, Lit has gained widespread adoption across a variety of companies looking to create reusable components which leverage the power and interoperability of the web platform. Tune in to learn about what makes this tiny library so incredibly lit!
Changelog++ members get a bonus 2 minutes at the end of this episode and zero ads. Join today!
Featuring:
- Justin Fagnani – Mastodon, Twitter, GitHub, LinkedIn, Website
- Amal Hussein – Twitter, GitHub
- Kevin Ball – Twitter, GitHub, LinkedIn, Website
Show Notes:
- Lit docs & examples
- Throwback Lit html episode on the Web Platform Podcast with Amal
- Polymer Library - Lit’s predecessor
- Custom Elements
- Shadow DOM
- Templates and Slots
- JS Tagged Template Literals
- Lit Element base class
- Amal’s singing about “dangerously set innerHTML”
- Proposal for Scoped Custom Element Global Registries
- Proposal for declarative Shadow DOM
- Proposal for Template Instantiation
- Proposal for DOM Parts
- Proposal for “open-stylable” Shadow Roots
- Proposal for JavaScript Decorators
- Lit labs packages
- Google’s Wireit - updates your npm scripts to make them smarter
- Justin’s npm cli RFC for adding Googe’s Wireit script runner to npm
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all!
(00:40) - Welcoming Justin to the show
(02:36) - What is it?
(04:36) - The evolution of the project
(10:02) - How do updates flow in to the DOM?
(11:19) - How it tracks data
(14:38) - Managing references
(17:13) - dangerouslySetInnertHTML
(21:25) - Lit is simple (af)
(23:54) - Absolutely necessary
(26:41) - App frameworks built on Lit
(31:33) - Who's using this?
(34:44) - How Lit is governed
(38:48) - Building for the platform first
(40:46) - Web components aren't sexy
(43:26) - Incorporating shadow DOM
(53:35) - Good role models
(54:53) - Justin's web wish
(57:30) - Closing time
(58:46) - Outro