Benjamin Glusa
On tour with heroes == Moving from Angular to WebComponents
#1about 4 minutes
The challenges of large frontend frameworks like Angular
Large frameworks like Angular can lead to dependency lock-in, large bundle sizes, and complexity, making migrations difficult.
#2about 2 minutes
Using Web Components and Svelte as an alternative
Web Components offer a framework-agnostic, simple, and lightweight alternative, made easier to develop with compilers like Svelte.
#3about 4 minutes
Scaffolding a new Svelte project from scratch
A new Svelte project is scaffolded using npx degit, and its package.json reveals only dev dependencies because Svelte is a compiler.
#4about 3 minutes
Creating a Svelte store to manage application state
A central store is created using a `writable` to hold hero data, which is fetched from a backend and populated asynchronously.
#5about 7 minutes
Using derived stores to automatically transform data
A derived store is created from the main hero store to automatically compute and provide a sorted list of the top five heroes.
#6about 3 minutes
Building a reusable list component with props
A generic list component is created to display heroes passed down via props, demonstrating component reusability and data flow.
#7about 3 minutes
Managing UI state for selected items in a list
A `writable` store is used to track the currently selected hero, which is updated via an `on:click` event handler.
#8about 4 minutes
Creating a form component for editing data
An editing component is built with input fields that use two-way data binding to the properties of the selected hero from the store.
#9about 4 minutes
Implementing update logic within the central store
An `update` function is added to the hero store to handle saving changes by replacing the old hero object with the updated one.
#10about 4 minutes
Simulating navigation using custom events and state
A simple navigation system is implemented by dispatching a custom 'back' event from a child component to a parent, which then updates state to change the view.
#11about 5 minutes
Building a search feature with multiple derived stores
A powerful search feature is created by deriving a new store from both the main hero list and a `searchTerm` store, automatically filtering results as the user types.
#12about 1 minute
Final thoughts and review of developing with Svelte
Svelte is praised for being a clean, small, and easy-to-learn library that provides powerful tools without the bloat of a full framework.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
17:33 MIN
Using web components to migrate legacy applications
Frameworkless: How to use Web-Components in production?
32:03 MIN
Using web components in Angular, Vue, and React
Extending HTML with Web Components
00:06 MIN
Why you should consider frameworkless web components
Frameworkless: How to use Web-Components in production?
38:51 MIN
Answering audience questions about web components
Frameworkless: How to use Web-Components in production?
36:52 MIN
Conclusion and when to use lightweight frameworks
Frameworkless: How to use Web-Components in production?
17:18 MIN
The shift from jQuery to modern JavaScript frameworks
How Your Bundle Size Affects The Climate
11:13 MIN
Creating modern code islands with web components
Defeat that legacy monster! Guerilla refactoring with web standards
33:55 MIN
Audience Q&A on practical micro-frontend challenges
Micro-frontends anti-patterns
Featured Partners
Related Videos
Why I Recommend Svelte to Every New Web Developer
Markus Hatvan
How to Stop Choosing JavaScript Frameworks and Start Living
Sasha Shynkevich
Front-End Micro Apps
Serg Hospodarets
Frameworkless: How to use Web-Components in production?
Tobias Münch
The Microfrontend Revolution- Using Webpack 5 Module Federation with Angular
Manfred Steyer
Snappy UI needs no Single-Page Application
Clemens Helm
Angular Features You Should be Using
Sani Yusuf
Extending HTML with Web Components
Rowdy Rabouw
From learning to earning
Jobs that call for the skills explored in this talk.


Développeur·se Fullstack Node Svelte
SHAPE IT
Canton de Lille-5, France
Remote
€38-48K
Intermediate
DevOps
Python
Svelte
+3
Développeur Fullstack Node - Svelte H/F
Externatic
Canton de Croix, France
Remote
€35-45K
Junior
Azure
NoSQL
Svelte
+7
Front End Developer TypeScript React
Client Server
Charing Cross, United Kingdom
Remote
€75-90K
REST
React
TypeScript
Frontend Developer (Angular / TypeScript / SaaS)
Hopla Software
Barcelona, Spain
Remote
Intermediate
API
React
Python
Angular
+1
Webentwickler*in Angular Berlin / Hybrid (m/w/d)
Tech Solutions Gmbh
Berlin, Germany
€60-75K
CSS
JIRA
Angular
Confluence
+2

