Material Web
Material Design as standard web components
Material Web implements Material Design 3 as framework agnostic web components, with the dynamic colour system that generates a full palette from a single source colour. It is the most rigorously specified system on this shelf.
The colour system is the interesting part
Material 3 generates tonal palettes algorithmically from one seed colour, producing surfaces, containers and text colours with contrast relationships already guaranteed. Reading how that works is valuable whether or not you use the components.
It solves the problem most hand built palettes get wrong, which is that a colour picked for a button rarely has a usable set of tints and shades behind it.
The recognisability problem
Material is the most identifiable design language in software. A product built on it reads as an Android application, which is exactly right sometimes and a liability otherwise.
Check the current status of the project before committing. Its scope and roadmap have shifted more than once, and web components integrate into React with more friction than a React library.
Reach for it when
- the product should feel native on Android
- you want a colour system with contrast guarantees built in
- framework agnostic web components suit your stack
Watch out for
- Material is instantly recognisable, which is a strong branding decision
- the project's scope and roadmap have changed more than once, so check its current status
- web components in React need wrappers and event handling care
Compare with these
- Design systemsFree
Awesome Design Systems
The published design systems of dozens of real companies, in one list
- design-systems
- tokens
- documentation
CC0-1.0Read - Design systemsFree
Primer
GitHub's design system, documented for developers rather than designers
- design-systems
- github
- tokens
MITRead - Design systemsFree
Carbon Design System
IBM's system, built for dense data and long lived enterprise software
- design-systems
- ibm
- enterprise
Apache-2.0Read