SlideShare a Scribd company logo
Atomic Design & React
(A Word or Two About Atomic Design and React) => Atomic Components
Riddle Me This
Should Developers Design?
Should Designers Develop?
Designer + Dev not Designer vs Dev
https://www.gravitatedesign.com/blog/designers-and-developers/
Answer
Well at least,
We should try to design the way we code!
OR
We should try to code the way we design!
No matter who is doing it!
What if?
 UI rendering was 100% pure components?
 Or conversely, all business logic/state was elsewhere?
 What if your framework notified when to render and provided
you all the data at the time of render?
 What if HTML / ES6 / CSS all lived together harmoniously?
IT CERTAINLY WOULD BE EASIER
FOR A DESIGNER TO CODE!
In a way that forms a
pleasing or consistent
whole.
In a way that is free
from disagreement or
dissent.
Enter Atomic Design by Brad Frost
Create Design Systems, not pages.
The cornerstones of good design systems are style guides!
We’re not designing pages,
we’re designing systems of components.
— Stephen Hay
Atomic Design Style Guides
Organize design materials,
while providing guidelines, usage, and guardrails.
Make them alive and interactive,
so that you can see the impact of change.
Share vocabulary (What is the System Status Button Bar?)
and educate!
Atomic Methodology
Think Chemistry
Atomic Methodology
Lately I’ve been more interested in
what our interfaces are comprised of
and how we can construct design
systems in a more methodical way.
— Brad Frost
Atomic Methodology
Atoms => HTML tags
Molecules => label, input & button
Organisms => logo, nav, search form
Templates => organism groups
Pages => complete view
Atomic Components
React Components
Atomic Components Methodology
Atoms => styled-components
Molecules => behavioral components
Organisms => domain composition
Ecosystems => route
Environment => themes, state, async
Top 9 reasons to use Atomic Design
1. Reusability
2. Easier to create style guide
3. Easy to understand layout
4. Code is more consistent
5. No focus on pixel perfect designs
6. More efficient, quicker prototyping
7. Easier to update and remove parts
8. More modular file structure
9. Less components overall
http://www.creativebloq.com/web-design/10-reasons-you-should-be-using-atomic-design-61620771
Top 9 reasons to use Atomic Components
1. Reusability
2. Easier to create style guide
3. Easy to understand layout
4. Code is more consistent
5. No focus on pixel perfect designs
6. More efficient, quicker prototyping
7. Easier to update and remove parts
8. More modular file structure
9. Less components overall
http://www.creativebloq.com/web-design/10-reasons-you-should-be-using-atomic-design-61620771
1. 100% Pure components helps
2. Make your reused components LIVE
3. Very structured
4. Code is more consistent!
5. You will WANT to reuse existing
6. Using inject instead of passing props
7. Hiring UX / Graphic Design later
8. HTML/Javascript/CSS live together
9. Less code / Less bugs / Less work
Atomic Design - Get Creative
Its not about using an existing design system,
its about creating your own!
Code Walkthrough - Atoms
import styled from 'styled-components';
const ButtonDiv = styled.div`
background-color:
${props => props.show ? props.theme.buttonColorShow : 'inherit'};
/* Layout */
overflow: hidden;
flex: 1 0 auto;
width: ${props => props.theme.iconSize.width};
height: ${props => props.theme.iconSize.height};
display: flex;
align-items: center;
justify-content: center;
`
export default ButtonDiv;
Get Coding
Now that it is easier!
Reference
 http://bradfrost.com/blog/post/atomic-web-design/
 http://atomicdesign.bradfrost.com/table-of-contents/
 https://medium.com/@yejodido/atomic-components-managing-dynamic-
react-components-using-atomic-design-part-1-5f07451f261f#.d9vjasek0
 https://medium.com/front-end-hacking/react-for-designers-
3fbc7b6560dd#.7utd3ri06
 https://github.com/styled-components/styled-components
 http://patternlab.io

More Related Content

What's hot

Clean architecture
Clean architectureClean architecture
Clean architecture
andbed
 

What's hot (20)

2012 the clean architecture by Uncle bob
2012 the clean architecture by Uncle bob 2012 the clean architecture by Uncle bob
2012 the clean architecture by Uncle bob
 
Design Systems at Scale
Design Systems at ScaleDesign Systems at Scale
Design Systems at Scale
 
Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Uxpin Why Build a Design System
Uxpin Why Build a Design SystemUxpin Why Build a Design System
Uxpin Why Build a Design System
 
Design System 101
Design System 101Design System 101
Design System 101
 
Prototyping for effective UX
Prototyping for effective UXPrototyping for effective UX
Prototyping for effective UX
 
A design system. A year in review.
A design system. A year in review.A design system. A year in review.
A design system. A year in review.
 
Design System & Atomic Design
Design System & Atomic DesignDesign System & Atomic Design
Design System & Atomic Design
 
Lean UX
Lean UXLean UX
Lean UX
 
Introduction to Building Wireframes (with Keynote)
Introduction to Building Wireframes (with Keynote)Introduction to Building Wireframes (with Keynote)
Introduction to Building Wireframes (with Keynote)
 
Creating and maintaining a design system for 130 teams - Bethany Sonefeld
Creating and maintaining a design system for 130 teams - Bethany SonefeldCreating and maintaining a design system for 130 teams - Bethany Sonefeld
Creating and maintaining a design system for 130 teams - Bethany Sonefeld
 
ソフトウェア開発を加速させるリーン開発の原則 公開用
ソフトウェア開発を加速させるリーン開発の原則 公開用ソフトウェア開発を加速させるリーン開発の原則 公開用
ソフトウェア開発を加速させるリーン開発の原則 公開用
 
Как стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайнКак стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайн
 
Clean architecture
Clean architectureClean architecture
Clean architecture
 
Design System
Design SystemDesign System
Design System
 
Design Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionDesign Systems: Enterprise UX Evolution
Design Systems: Enterprise UX Evolution
 
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるSpring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
 
Design systems in organisations
Design systems in organisationsDesign systems in organisations
Design systems in organisations
 
Writing DSL in Clojure
Writing DSL in ClojureWriting DSL in Clojure
Writing DSL in Clojure
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 

Viewers also liked

RuUborka
RuUborkaRuUborka
RuUborka
spbguru
 

Viewers also liked (20)

Atomic Design - Dallas Digital Agency
Atomic Design - Dallas Digital AgencyAtomic Design - Dallas Digital Agency
Atomic Design - Dallas Digital Agency
 
Use atomic design ftw
Use atomic design ftwUse atomic design ftw
Use atomic design ftw
 
Atomic design, a problem of expectations
Atomic design, a problem of expectationsAtomic design, a problem of expectations
Atomic design, a problem of expectations
 
Building an Atomic Design System
Building an Atomic Design SystemBuilding an Atomic Design System
Building an Atomic Design System
 
Atomic design
Atomic designAtomic design
Atomic design
 
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
 
система обеспечения безопасности
система обеспечения безопасностисистема обеспечения безопасности
система обеспечения безопасности
 
Weever Media App Marketing
Weever Media App MarketingWeever Media App Marketing
Weever Media App Marketing
 
Iridium idea searcher_slice&reverse_water
Iridium idea searcher_slice&reverse_waterIridium idea searcher_slice&reverse_water
Iridium idea searcher_slice&reverse_water
 
RST2014_Tomsk_IndoodAnalytics
RST2014_Tomsk_IndoodAnalyticsRST2014_Tomsk_IndoodAnalytics
RST2014_Tomsk_IndoodAnalytics
 
Multi rotor
Multi rotorMulti rotor
Multi rotor
 
iBeacon в гиперлокальном маркетинге
iBeacon в гиперлокальном маркетингеiBeacon в гиперлокальном маркетинге
iBeacon в гиперлокальном маркетинге
 
Happiest Minds Brand Journey
Happiest Minds  Brand JourneyHappiest Minds  Brand Journey
Happiest Minds Brand Journey
 
Презентация iBeacon. Что такое iBeacon и как эту технологию применять?
Презентация iBeacon. Что такое iBeacon и как эту технологию применять?Презентация iBeacon. Что такое iBeacon и как эту технологию применять?
Презентация iBeacon. Что такое iBeacon и как эту технологию применять?
 
LifeHackDay 2015: MOOCology
LifeHackDay 2015: MOOCologyLifeHackDay 2015: MOOCology
LifeHackDay 2015: MOOCology
 
Proximity presentation rus
Proximity presentation rusProximity presentation rus
Proximity presentation rus
 
iBeacon technology for your events
iBeacon technology for your eventsiBeacon technology for your events
iBeacon technology for your events
 
Whitepaper: Unified Communications Solution on Communication Enabled Business...
Whitepaper: Unified Communications Solution on Communication Enabled Business...Whitepaper: Unified Communications Solution on Communication Enabled Business...
Whitepaper: Unified Communications Solution on Communication Enabled Business...
 
RuUborka
RuUborkaRuUborka
RuUborka
 
Фишки продвижения мобильных приложений от Netpeak
Фишки продвижения мобильных приложений от NetpeakФишки продвижения мобильных приложений от Netpeak
Фишки продвижения мобильных приложений от Netpeak
 

Similar to Atomic design React Nova Presentation

Web Design & UI/UX Bootcamp [Online & Offline] In Bangla
Web Design & UI/UX Bootcamp [Online & Offline] In BanglaWeb Design & UI/UX Bootcamp [Online & Offline] In Bangla
Web Design & UI/UX Bootcamp [Online & Offline] In Bangla
Stack Learner
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practices
meghsweet
 
Unify Design & Deliverables
Unify Design & DeliverablesUnify Design & Deliverables
Unify Design & Deliverables
nathanacurtis
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
guestebde
 
The "Evils" of Optimization
The "Evils" of OptimizationThe "Evils" of Optimization
The "Evils" of Optimization
BlackRabbitCoder
 

Similar to Atomic design React Nova Presentation (20)

Design Systems are Coming... Are you Ready?
Design Systems are Coming... Are you Ready?Design Systems are Coming... Are you Ready?
Design Systems are Coming... Are you Ready?
 
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableLearn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
 
Web Design & UI/UX Bootcamp [Online & Offline] In Bangla
Web Design & UI/UX Bootcamp [Online & Offline] In BanglaWeb Design & UI/UX Bootcamp [Online & Offline] In Bangla
Web Design & UI/UX Bootcamp [Online & Offline] In Bangla
 
Atomic Design: Effective Way of Designing UI
Atomic Design: Effective Way of Designing UIAtomic Design: Effective Way of Designing UI
Atomic Design: Effective Way of Designing UI
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practices
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Framework
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
Unify Design & Deliverables
Unify Design & DeliverablesUnify Design & Deliverables
Unify Design & Deliverables
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
Building resuable and customizable Vue components
Building resuable and customizable Vue componentsBuilding resuable and customizable Vue components
Building resuable and customizable Vue components
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
 
Atomic design in React
Atomic design in ReactAtomic design in React
Atomic design in React
 
Mobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web DesignMobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web Design
 
The "Evils" of Optimization
The "Evils" of OptimizationThe "Evils" of Optimization
The "Evils" of Optimization
 
Improving Drupal Performances
Improving Drupal PerformancesImproving Drupal Performances
Improving Drupal Performances
 
KharkivJS: Flaws of the Web Components in 2019 and how to address them
KharkivJS: Flaws of the Web Components in 2019 and how to address themKharkivJS: Flaws of the Web Components in 2019 and how to address them
KharkivJS: Flaws of the Web Components in 2019 and how to address them
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for Beginners
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

Atomic design React Nova Presentation

  • 1. Atomic Design & React (A Word or Two About Atomic Design and React) => Atomic Components
  • 2. Riddle Me This Should Developers Design? Should Designers Develop?
  • 3. Designer + Dev not Designer vs Dev https://www.gravitatedesign.com/blog/designers-and-developers/
  • 4. Answer Well at least, We should try to design the way we code! OR We should try to code the way we design! No matter who is doing it!
  • 5. What if?  UI rendering was 100% pure components?  Or conversely, all business logic/state was elsewhere?  What if your framework notified when to render and provided you all the data at the time of render?  What if HTML / ES6 / CSS all lived together harmoniously? IT CERTAINLY WOULD BE EASIER FOR A DESIGNER TO CODE! In a way that forms a pleasing or consistent whole. In a way that is free from disagreement or dissent.
  • 6. Enter Atomic Design by Brad Frost Create Design Systems, not pages. The cornerstones of good design systems are style guides! We’re not designing pages, we’re designing systems of components. — Stephen Hay
  • 7. Atomic Design Style Guides Organize design materials, while providing guidelines, usage, and guardrails. Make them alive and interactive, so that you can see the impact of change. Share vocabulary (What is the System Status Button Bar?) and educate!
  • 9. Atomic Methodology Lately I’ve been more interested in what our interfaces are comprised of and how we can construct design systems in a more methodical way. — Brad Frost
  • 10. Atomic Methodology Atoms => HTML tags Molecules => label, input & button Organisms => logo, nav, search form Templates => organism groups Pages => complete view
  • 12. Atomic Components Methodology Atoms => styled-components Molecules => behavioral components Organisms => domain composition Ecosystems => route Environment => themes, state, async
  • 13. Top 9 reasons to use Atomic Design 1. Reusability 2. Easier to create style guide 3. Easy to understand layout 4. Code is more consistent 5. No focus on pixel perfect designs 6. More efficient, quicker prototyping 7. Easier to update and remove parts 8. More modular file structure 9. Less components overall http://www.creativebloq.com/web-design/10-reasons-you-should-be-using-atomic-design-61620771
  • 14. Top 9 reasons to use Atomic Components 1. Reusability 2. Easier to create style guide 3. Easy to understand layout 4. Code is more consistent 5. No focus on pixel perfect designs 6. More efficient, quicker prototyping 7. Easier to update and remove parts 8. More modular file structure 9. Less components overall http://www.creativebloq.com/web-design/10-reasons-you-should-be-using-atomic-design-61620771 1. 100% Pure components helps 2. Make your reused components LIVE 3. Very structured 4. Code is more consistent! 5. You will WANT to reuse existing 6. Using inject instead of passing props 7. Hiring UX / Graphic Design later 8. HTML/Javascript/CSS live together 9. Less code / Less bugs / Less work
  • 15. Atomic Design - Get Creative Its not about using an existing design system, its about creating your own!
  • 16. Code Walkthrough - Atoms import styled from 'styled-components'; const ButtonDiv = styled.div` background-color: ${props => props.show ? props.theme.buttonColorShow : 'inherit'}; /* Layout */ overflow: hidden; flex: 1 0 auto; width: ${props => props.theme.iconSize.width}; height: ${props => props.theme.iconSize.height}; display: flex; align-items: center; justify-content: center; ` export default ButtonDiv;
  • 17. Get Coding Now that it is easier!
  • 18. Reference  http://bradfrost.com/blog/post/atomic-web-design/  http://atomicdesign.bradfrost.com/table-of-contents/  https://medium.com/@yejodido/atomic-components-managing-dynamic- react-components-using-atomic-design-part-1-5f07451f261f#.d9vjasek0  https://medium.com/front-end-hacking/react-for-designers- 3fbc7b6560dd#.7utd3ri06  https://github.com/styled-components/styled-components  http://patternlab.io