SlideShare a Scribd company logo
1 of 33
An introduction to Emulsify
A component driven prototyping-tool using
Pattern Lab
Safallia Joseph
https://www.drupal.org/u/safallia-joseph
https://twitter.com/safallia
● A brief intro to Components, Atomic Designs and Pattern Lab
● How to get up and running with Pattern Lab in Drupal
● An intro to Emulsify
● Emulsify’s implementation of CDD
● Getting started with Emulsify
● Connecting Emulsify to Drupal
● Benefits and challenges of a decoupled front end workflow in
Drupal Projects
Agenda
According to wikipedia, A component is,
“An individual software component is a software package, a
web service, a web resource, or a module that encapsulates a
set of related functions (or data)”
Components are isolated reusable chunks of web sites.
What’s a Component?
Click to add text
What’s a Component?
Click to add text
Why Componentize?
Atomic design is a methodology on how to organize components
in a clean and methodological way.
What’s Atomic Design?
Click todd text
How does Atomic Design Work
● Fields and Field formatters
● Entities and View modes
● Paragraph module
Component Patterns in Drupal
● Sitebuilding > Content > Theming
● Theming depends on content during development
● Theming occurs within the entire Drupal context
● Issues?
Front end Workflow in Drupal 7/8
Pattern lab is a static site generator (Powered by either PHP or
Node) that stitches together UI components, But there is a whole
lot more to it than that!
Pattern Lab
What’s Pattern Lab?
Living Style Guide is a set of tools for managing, testing and documenting
UI components in an organized and dynamic visual way. Outputting
dynamically created pages to keep designers, clients and developers in
sync.
● PHP or Node
● Pattern Lab Editions - PHP - Mustache, Twig, Drupal, Thin.
● Use your own methodology
● Dave Olsen, Brad Frost and
● Brian Muenzenmeyer
● http://demo.patternlab.io/
What’s Pattern Lab?
Pattern Lab & Atomic Design
Pattern Lab & Atomic Design
Pattern Lab & Atomic Design
Pattern Lab & Atomic Design
Pattern Lab & Atomic Design
Ok, Cool… But how do we tie this
to Drupal??
Required
● Components Library
(https://www.drupal.org/project/components)
Will make your life easier
● https://www.drupal.org/project/twig_field_value
● https://www.drupal.org/project/twig_tweak
Pattern Lab & Atomic Design in
Drupal
Pattern Lab & Atomic Design in
Drupal
Ready to go PL frameworks
What is Emulsify?
Emulsify is a design and prototyping tool, which uses atomic
design principles and modern frontend best practices to
develop a living style guide that can be easily implemented into
any CMS that can render twig files.
● Have a single authoritative source (no duplication)
● All HTML, CSS and JS in the component library
● A front end designer with no Drupal experience can design
the site without even touching Drupal.
Goals of Emulsify
● Emulsify implements Pattern Lab.
● By integrating Pattern Lab components can be built in a way that
make sense for your workflow
● Once the template is ready for production connecting to Drupal is
as easy as using the twig functions include, extend and embed.
Emulsify’s Component Driven
Development
Emulsify Standalone
● Install with NPM composer create-project fourkitchens/emulsify --
stability dev --no-interaction emulsify && cd emulsify && npm
install
● Install with Yarn: composer create-project fourkitchens/emulsify --
stability dev --no-interaction emulsify && cd emulsify && yarn
install
Getting started with Emulsify
Drupal Specific Installation
● composer require fourkitchens/emulsify
● composer create-project fourkitchens/emulsify --stability dev --
no-interaction emulsify
● You can download from Emulsify github page
Getting started with Emulsify
Conclusion: Benefits and
Challenges
Conclusion: Benefits and
Challenges
Benefits
● Decoupled workflow
○ Front end workflow can be completely decoupled from
Drupal
○ Theme outside of Drupal
● Flexible Project Workflow
○ Permits for a frontend to be designed and built out before a
sitebuild must be committed to, without “Losing” that time
● Componentized Structure
● Style Guide
● Testing
○ Provides an entire set of data for frontend design system that
does not depend on the project database.
○ Quick Regression test
● Communities
○ Pattern Lab is an existing tool with a lot of dedicated
followers
Benefits
Conclusion: Benefits and
Challenges
● Time
○ With a reasonable base setup, the time investment to use this
workflow should not be that great.
○ Though, initial learning curve will be present and all members
of the team must have a buy in it.
○ Medium/large scale project can save much more time.
● Too many tools?
Challenges
Thank you

More Related Content

What's hot

The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect Content
Dave Olsen
 

What's hot (20)

Atomic design
Atomic designAtomic design
Atomic design
 
React Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSSReact Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSS
 
Documenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with JekyllDocumenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with Jekyll
 
Atomic Design
Atomic Design Atomic Design
Atomic Design
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
 
Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect Content
 
Adventures in Atomic Design
Adventures in Atomic DesignAdventures in Atomic Design
Adventures in Atomic Design
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
Use atomic design ftw
Use atomic design ftwUse atomic design ftw
Use atomic design ftw
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Atomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris IndustriesAtomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris Industries
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
Creating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve PerformanceCreating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve Performance
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
So…What Do I Make? (Dan Mall)
So…What Do I Make? (Dan Mall)So…What Do I Make? (Dan Mall)
So…What Do I Make? (Dan Mall)
 

Similar to An introduction to Emulsify

Future proofing design work with Web components
Future proofing design work with Web componentsFuture proofing design work with Web components
Future proofing design work with Web components
btopro
 
Drupal distributions and installation profiles
Drupal distributions and installation profilesDrupal distributions and installation profiles
Drupal distributions and installation profiles
Andrei Jechiu
 

Similar to An introduction to Emulsify (20)

Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Future proofing design work with Web components
Future proofing design work with Web componentsFuture proofing design work with Web components
Future proofing design work with Web components
 
UX Prototyping: New Principles and Tools (HTP Grodno, 20.03.2018)
UX Prototyping: New Principles and Tools (HTP Grodno, 20.03.2018)UX Prototyping: New Principles and Tools (HTP Grodno, 20.03.2018)
UX Prototyping: New Principles and Tools (HTP Grodno, 20.03.2018)
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Polymer 101
Polymer 101Polymer 101
Polymer 101
 
Java Framework comparison
Java Framework comparisonJava Framework comparison
Java Framework comparison
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Web profiler in drupal 8
Web profiler in drupal 8Web profiler in drupal 8
Web profiler in drupal 8
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Web components
Web componentsWeb components
Web components
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Drupal distributions and installation profiles
Drupal distributions and installation profilesDrupal distributions and installation profiles
Drupal distributions and installation profiles
 
Bulletproof design systems using storybook
Bulletproof design systems using storybookBulletproof design systems using storybook
Bulletproof design systems using storybook
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26th
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
 
Better java with design
Better java with designBetter java with design
Better java with design
 

More from valuebound

How to Use DDEV to Streamline Your Drupal Development Process.
How to Use DDEV to Streamline Your Drupal Development Process.How to Use DDEV to Streamline Your Drupal Development Process.
How to Use DDEV to Streamline Your Drupal Development Process.
valuebound
 
How to Use AWS to Automate Your IT Operation| Valuebound
How to Use AWS to Automate Your IT Operation| Valuebound How to Use AWS to Automate Your IT Operation| Valuebound
How to Use AWS to Automate Your IT Operation| Valuebound
valuebound
 
The Benefits of Cloud Engineering
The Benefits of Cloud EngineeringThe Benefits of Cloud Engineering
The Benefits of Cloud Engineering
valuebound
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
valuebound
 
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
valuebound
 

More from valuebound (20)

Scaling Drupal for High Traffic Websites
Scaling Drupal for High Traffic WebsitesScaling Drupal for High Traffic Websites
Scaling Drupal for High Traffic Websites
 
Drupal 7 to Drupal 10 Migration A Fintech Strategic Blueprint (1).pdf
Drupal 7 to Drupal 10 Migration A Fintech Strategic Blueprint (1).pdfDrupal 7 to Drupal 10 Migration A Fintech Strategic Blueprint (1).pdf
Drupal 7 to Drupal 10 Migration A Fintech Strategic Blueprint (1).pdf
 
How to Use DDEV to Streamline Your Drupal Development Process.
How to Use DDEV to Streamline Your Drupal Development Process.How to Use DDEV to Streamline Your Drupal Development Process.
How to Use DDEV to Streamline Your Drupal Development Process.
 
How to Use AWS to Automate Your IT Operation| Valuebound
How to Use AWS to Automate Your IT Operation| Valuebound How to Use AWS to Automate Your IT Operation| Valuebound
How to Use AWS to Automate Your IT Operation| Valuebound
 
How to Use Firebase to Send Push Notifications to React Native and Node.js Apps
How to Use Firebase to Send Push Notifications to React Native and Node.js AppsHow to Use Firebase to Send Push Notifications to React Native and Node.js Apps
How to Use Firebase to Send Push Notifications to React Native and Node.js Apps
 
Mastering Drupal Theming
Mastering Drupal ThemingMastering Drupal Theming
Mastering Drupal Theming
 
The Benefits of Cloud Engineering
The Benefits of Cloud EngineeringThe Benefits of Cloud Engineering
The Benefits of Cloud Engineering
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
The Future of Cloud Engineering: Emerging Trends and Technologies to Watch in...
 
Deep dive into ChatGPT
Deep dive into ChatGPTDeep dive into ChatGPT
Deep dive into ChatGPT
 
Content Creation Solution | Valuebound
Content Creation Solution | ValueboundContent Creation Solution | Valuebound
Content Creation Solution | Valuebound
 
Road ahead for Drupal 8 contributed projects
Road ahead for Drupal 8 contributed projectsRoad ahead for Drupal 8 contributed projects
Road ahead for Drupal 8 contributed projects
 
Chatbot with RASA | Valuebound
Chatbot with RASA | ValueboundChatbot with RASA | Valuebound
Chatbot with RASA | Valuebound
 
Drupal and Artificial Intelligence for Personalization
Drupal and Artificial Intelligence for Personalization Drupal and Artificial Intelligence for Personalization
Drupal and Artificial Intelligence for Personalization
 
Drupal growth in last year | Valuebound
Drupal growth in last year | ValueboundDrupal growth in last year | Valuebound
Drupal growth in last year | Valuebound
 
BE NEW TO THE WORLD "BRAVE FROM CHROME"
BE NEW TO THE WORLD "BRAVE FROM CHROME"BE NEW TO THE WORLD "BRAVE FROM CHROME"
BE NEW TO THE WORLD "BRAVE FROM CHROME"
 
Event loop in browser
Event loop in browserEvent loop in browser
Event loop in browser
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
Dependency Injection in Drupal 8
Dependency Injection in Drupal 8Dependency Injection in Drupal 8
Dependency Injection in Drupal 8
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

An introduction to Emulsify

  • 1. An introduction to Emulsify A component driven prototyping-tool using Pattern Lab Safallia Joseph https://www.drupal.org/u/safallia-joseph https://twitter.com/safallia
  • 2. ● A brief intro to Components, Atomic Designs and Pattern Lab ● How to get up and running with Pattern Lab in Drupal ● An intro to Emulsify ● Emulsify’s implementation of CDD ● Getting started with Emulsify ● Connecting Emulsify to Drupal ● Benefits and challenges of a decoupled front end workflow in Drupal Projects Agenda
  • 3. According to wikipedia, A component is, “An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data)” Components are isolated reusable chunks of web sites. What’s a Component?
  • 4. Click to add text What’s a Component?
  • 5. Click to add text Why Componentize?
  • 6. Atomic design is a methodology on how to organize components in a clean and methodological way. What’s Atomic Design?
  • 7. Click todd text How does Atomic Design Work
  • 8. ● Fields and Field formatters ● Entities and View modes ● Paragraph module Component Patterns in Drupal
  • 9. ● Sitebuilding > Content > Theming ● Theming depends on content during development ● Theming occurs within the entire Drupal context ● Issues? Front end Workflow in Drupal 7/8
  • 10. Pattern lab is a static site generator (Powered by either PHP or Node) that stitches together UI components, But there is a whole lot more to it than that! Pattern Lab
  • 11. What’s Pattern Lab? Living Style Guide is a set of tools for managing, testing and documenting UI components in an organized and dynamic visual way. Outputting dynamically created pages to keep designers, clients and developers in sync. ● PHP or Node ● Pattern Lab Editions - PHP - Mustache, Twig, Drupal, Thin. ● Use your own methodology ● Dave Olsen, Brad Frost and ● Brian Muenzenmeyer ● http://demo.patternlab.io/
  • 13. Pattern Lab & Atomic Design
  • 14. Pattern Lab & Atomic Design
  • 15. Pattern Lab & Atomic Design
  • 16. Pattern Lab & Atomic Design
  • 17. Pattern Lab & Atomic Design
  • 18. Ok, Cool… But how do we tie this to Drupal??
  • 19. Required ● Components Library (https://www.drupal.org/project/components) Will make your life easier ● https://www.drupal.org/project/twig_field_value ● https://www.drupal.org/project/twig_tweak Pattern Lab & Atomic Design in Drupal
  • 20. Pattern Lab & Atomic Design in Drupal
  • 21. Ready to go PL frameworks
  • 22. What is Emulsify? Emulsify is a design and prototyping tool, which uses atomic design principles and modern frontend best practices to develop a living style guide that can be easily implemented into any CMS that can render twig files.
  • 23. ● Have a single authoritative source (no duplication) ● All HTML, CSS and JS in the component library ● A front end designer with no Drupal experience can design the site without even touching Drupal. Goals of Emulsify
  • 24. ● Emulsify implements Pattern Lab. ● By integrating Pattern Lab components can be built in a way that make sense for your workflow ● Once the template is ready for production connecting to Drupal is as easy as using the twig functions include, extend and embed. Emulsify’s Component Driven Development
  • 25. Emulsify Standalone ● Install with NPM composer create-project fourkitchens/emulsify -- stability dev --no-interaction emulsify && cd emulsify && npm install ● Install with Yarn: composer create-project fourkitchens/emulsify -- stability dev --no-interaction emulsify && cd emulsify && yarn install Getting started with Emulsify
  • 26. Drupal Specific Installation ● composer require fourkitchens/emulsify ● composer create-project fourkitchens/emulsify --stability dev -- no-interaction emulsify ● You can download from Emulsify github page Getting started with Emulsify
  • 29. Benefits ● Decoupled workflow ○ Front end workflow can be completely decoupled from Drupal ○ Theme outside of Drupal ● Flexible Project Workflow ○ Permits for a frontend to be designed and built out before a sitebuild must be committed to, without “Losing” that time ● Componentized Structure ● Style Guide
  • 30. ● Testing ○ Provides an entire set of data for frontend design system that does not depend on the project database. ○ Quick Regression test ● Communities ○ Pattern Lab is an existing tool with a lot of dedicated followers Benefits
  • 32. ● Time ○ With a reasonable base setup, the time investment to use this workflow should not be that great. ○ Though, initial learning curve will be present and all members of the team must have a buy in it. ○ Medium/large scale project can save much more time. ● Too many tools? Challenges