Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Design Systems with React
Search
Tony Ward
May 21, 2019
Programming
0
230
Design Systems with React
I talk at a local meetup about design systems and their advantages
Tony Ward
May 21, 2019
Tweet
Share
More Decks by Tony Ward
See All by Tony Ward
EmberConf2018: Toyota's Shared Component Library
ynotdraw
0
840
Other Decks in Programming
See All in Programming
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
920
Ktorで簡単AIアプリケーション
tsukakei
0
110
ドメイン駆動設計のエッセンス
masuda220
PRO
14
5.4k
Go言語はstack overflowの夢を見るか?
logica0419
0
630
モテるデスク環境
mozumasu
3
1.3k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
530
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.8k
iOSでSVG画像を扱う
kishikawakatsumi
0
170
技術的負債の正体を知って向き合う
irof
0
270
CSC509 Lecture 08
javiergs
PRO
0
260
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Become a Pro
speakerdeck
PRO
29
5.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Thoughts on Productivity
jonyablonski
71
4.9k
A Tale of Four Properties
chriscoyier
161
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Writing Fast Ruby
sferik
630
62k
A designer walks into a library…
pauljervisheath
209
24k
Visualization
eitanlees
150
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Done Done
chrislema
185
16k
Transcript
Design Systems with React YnotDraw @_ynotdraw Tony Ward | Software
Engineer @ LifeOmic
Design Language + Shared Components + Documentation = Design System
Design Language
Designer creates the “design language” for your app
Create the voice of your product
Design Elements A defined set of options for: • Typography
sizes and weights • Buttons • Colors • …
Typically these items have a limited set of options
None
None
None
None
Design Tools Tools such as Sketch and Figma allow designers
to create these components, similar to components we have in React
Typically the primitive design elements are composed together to create
other components
Notification is composed of Typography and color palette
Mockups for a feature/product are created by composing these components
together
Design Language ✅ + Shared Components + Documentation = Design
System
Shared Components
Component Examples Primitive components every time you go to build
an app? • Typography sizes and weights • Buttons • Colors • Inputs • …
Your designer probably already created these as part of their
design language
Go build them with React!
Advantage: Agility Now you have a bucket of components to
build out features quickly!
Separate Apps Do you have separate apps under the same
product, that need to look and feel as though they are the same app? (Now made easier with the primitive components! Each app just imports the package.)
Maybe you want to go one step deeper…
Don’t Reinvent the Wheel Share components, utilities, etc. across product
lines
Your app becomes pages composed of many shared, consistent, and
familiar components
Similar to designers, building out a new feature is just
composing existing components together
Goal: Have enough components to build a new feature (Even
better goal: have enough components to build a new product)
So you and your designer built a bunch of components,
how do people learn about them?
Design Language ✅ + Shared Components ✅ + Documentation =
Design System
Documentation
Documentation Tools • Storybook (quick win) • Styleguidist • Mdx-docs
• Custom docs app
Documentation • How to’s: • Import • Use • Props
available • Use cases for components • When to use A vs B • Designers may do well at writing these sections
Design Language ✅ + Shared Components ✅ + Documentation ✅
= Design System
Advantages • Faster feature/product building • UI/UX consistencies and patterns
• Shared components with design • Shared “language” with design
Advantages • Great for onboarding new devs • Well-tested components
working across all browsers
How to Get Started • Build your own from scratch
• Build on top of MUI • Has a ton of components out of the box that are very sane • Can override styles to get going quickly
Out in the Wild • https://github.com/alexpate/awesome-design-systems • Atlas Kit •
Duolingo • GitHub Primer • Audi UI Kit
Design Resource
YnotDraw @_ynotdraw Thanks!