Tobias Scholz

Building a framework-independent component library

Build your UI components once. Use them natively in React, Vue, and Angular with a framework-independent library.

Building a framework-independent component library
#1about 2 minutes

Solving UI inconsistency across multiple frontend frameworks

Component libraries built with Web Components can solve UI inconsistency when projects use different technology stacks like Vue, Angular, or Svelte.

#2about 3 minutes

Understanding Web Components, Custom Elements, and Shadow DOM

Web Components use Custom Elements to define new HTML tags and the Shadow DOM to encapsulate styles and behavior, preventing conflicts with the main document.

#3about 4 minutes

Building a basic Web Component with vanilla JavaScript

A step-by-step demonstration shows how to create a custom button element from scratch using vanilla JavaScript, including attaching a shadow root and handling attributes.

#4about 5 minutes

Setting up a modern component library with Vite and Lit

Using Lit simplifies Web Component development by reducing boilerplate code for managing the Shadow DOM and styles, while Vite serves as an efficient build tool.

#5about 2 minutes

Encapsulating third-party components for gradual migration

Web Components can wrap existing third-party libraries like DevExpress, allowing for a piece-by-piece migration to a custom component library without a full rewrite.

#6about 2 minutes

Documenting components effectively with Storybook

Storybook provides an interactive interface for developers to browse components, test different properties in real-time, and view usage examples and code snippets.

#7about 3 minutes

Exploring the IBM Carbon Design System as an example

The IBM Carbon Design System is a production-grade example of a framework-independent component library built using Web Components, Lit, and Storybook.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Angular Developer

Angular Developer

Picnic Technologies B.V.
Amsterdam, Netherlands

Intermediate
Senior
RxJS
Angular
TypeScript