SlideShare a Scribd company logo
The ABC of
Coded Style Guides
Henning Muszynski


@henningmus · Doist
“Let’s style this <span> like the button we have
over there”
—
and other great ideas you might have had
Hi, I’m Henning !
‣ Living in Hamburg, Germany

‣ Studied Business IT &
Computer Science

‣ Software Engineer at Doist
Twist
Todoist
More productive teamwork
Calmer communication
More organized team knowledge
Twist
Reactist
‣ React Component Library

‣ Used in Todoist and Twist

‣ Open Source
Avatar
Name
Level Experience Bar
Sideways Scrolling Content
Badge
Activity
What is a Coded Style Guide?
‣ Directory of your components in different states

‣ Components rendered in isolation

‣ Components built in isolation

‣ Live documentation
Advantages
‣ Encourage reuse and raising awareness

‣ Higher stability and lower maintenance

‣ Coherent branding

‣ Testing and documentation
Solution Characteristics
Workshop Storefront
Develop
Design
Document
Test
Agenda
1. Roll your own

2. Styleguidist

3. Storybook
Roll Your Own
Don’t
Roll Your Own
‣ Main Goal: Add value for your users

‣ Stand on the shoulders of giants

‣ (Development) resources are scarce
Styleguidist
‣ Supports: Vue and React

‣ Markdown description of components

‣ Uses your jsdoc and prop types

‣ Zero config for CRA

‣ Otherwise webpack and custom config file
Styleguidist
‣ (+) Live code editor for every example

‣ (+) Completely customizable styles

‣ Default already beautiful

‣ (-) Markdown sometimes requires some hacking or
intermediate components
Storybook
‣ Supports: React, React Native, Vue and Angular, …

‣ Stories are just Javascript™

‣ Extensible via (a lot of) addons
‣ Zero config (webpack based)
Storybook & Testing
‣ Same data used for rendering & testing

‣ Automated (visual) snapshots

‣ Viewing test results in stories

‣ Manual checking more affordable (through isolation)
Storybook
‣ (+) Easier to demo complex (legacy) components

‣ (+) Test data can be reused

‣ (-) Styling is way less flexible

‣ (-) Creating a documentation is harder
Workshop Storefront
Storybook Styleguidist
Other solutions
‣ Sketch Design Libraries

‣ react-cosmos: showcasing more complex states

‣ … many more
Pitfalls
or: Learn from our learnings
‣ Start with “easy” components for quick wins

‣ Don’t try to do everything at once

‣ Encourage contribution & make part of reviews
Define a strategy and goal
Key Takeaway
Key Takeaway
Share by deploying
Key Takeaway
Don’t overengineer
The ABC of
Coded Style Guides
Henning Muszynski


@henningmus · Doist
Resources
Blogs / Articles / Talks
- https://github.com/SaraVieira/styleguide-driven-development
- https://blog.hichroma.com/storybook-vs-styleguidist-2bd93d6dcc06
- https://spin.atomicobject.com/2018/01/24/react-storybook/
- http://bradfrost.com/blog/post/the-workshop-and-the-storefront/
- https://blog.hichroma.com/the-delightful-storybook-workflow-b322b76fd07
Storybook
- https://storybook.js.org/basics/quick-start-guide/
- https://github.com/storybooks/storybook
- https://storybook.js.org/examples/
Styleguidist
- https://github.com/styleguidist/react-styleguidist
- https://react-styleguidist.js.org/docs/getting-started.html
Others
- https://medium.com/@skidding/fighting-for-component-independence-2a762ee53272
- https://github.com/react-cosmos/react-cosmos

More Related Content

What's hot

Future Fit courses
Future Fit coursesFuture Fit courses
Future Fit courses
rlabsza
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
Thinkful
 
Charts, PDFs, and PHP
Charts, PDFs, and PHPCharts, PDFs, and PHP
Charts, PDFs, and PHP
jerkob
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascript
climboid
 
Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!
Abdullah Al Mahi
 
Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?
Peter Baylies
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScript
Dori Smith
 
Front end workflow
Front end workflow Front end workflow
Front end workflow
Alexander Dimitrov
 
EPQ Presentation Final
EPQ Presentation FinalEPQ Presentation Final
EPQ Presentation FinalAndrew Smith
 
Javascript as universal language
Javascript as universal languageJavascript as universal language
Javascript as universal languageRonald Harmsen
 
An Introduction to Gutenberg, WordPress's New Editor
An Introduction to Gutenberg, WordPress's New EditorAn Introduction to Gutenberg, WordPress's New Editor
An Introduction to Gutenberg, WordPress's New Editor
Andrew Marks
 
Devteach 2017
Devteach 2017Devteach 2017
Devteach 2017
Sébastien Doucet
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
Christian Güdemann
 
Angular and SEO - Greenlane All Hands Day 10/17/16
Angular and SEO - Greenlane All Hands Day 10/17/16Angular and SEO - Greenlane All Hands Day 10/17/16
Angular and SEO - Greenlane All Hands Day 10/17/16
Sean Malseed
 
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning AcademyJavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
Parag Mujumdar
 
Become a better UX designer through code
Become a better UX designer through codeBecome a better UX designer through code
Become a better UX designer through code
Ramon Lapenta
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia  - case study | CodesushiHeadless approach and acquia  - case study | Codesushi
Headless approach and acquia - case study | Codesushi
Krzysztof (Chris) Ozog
 
Stress free development
Stress free developmentStress free development
Stress free development
Laurynas Antanavičius, PMI-ACP
 
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mindDrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
Joeri van Dooren
 

What's hot (20)

Future Fit courses
Future Fit coursesFuture Fit courses
Future Fit courses
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66-123-168
 
Charts, PDFs, and PHP
Charts, PDFs, and PHPCharts, PDFs, and PHP
Charts, PDFs, and PHP
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascript
 
Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!
 
Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScript
 
Front end workflow
Front end workflow Front end workflow
Front end workflow
 
EPQ Presentation Final
EPQ Presentation FinalEPQ Presentation Final
EPQ Presentation Final
 
Javascript as universal language
Javascript as universal languageJavascript as universal language
Javascript as universal language
 
An Introduction to Gutenberg, WordPress's New Editor
An Introduction to Gutenberg, WordPress's New EditorAn Introduction to Gutenberg, WordPress's New Editor
An Introduction to Gutenberg, WordPress's New Editor
 
Devteach 2017
Devteach 2017Devteach 2017
Devteach 2017
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
 
Angular and SEO - Greenlane All Hands Day 10/17/16
Angular and SEO - Greenlane All Hands Day 10/17/16Angular and SEO - Greenlane All Hands Day 10/17/16
Angular and SEO - Greenlane All Hands Day 10/17/16
 
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning AcademyJavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
JavaScript - Web Development Fundaments Part 2 - DeepDive Learning Academy
 
Become a better UX designer through code
Become a better UX designer through codeBecome a better UX designer through code
Become a better UX designer through code
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia  - case study | CodesushiHeadless approach and acquia  - case study | Codesushi
Headless approach and acquia - case study | Codesushi
 
Stress free development
Stress free developmentStress free development
Stress free development
 
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mindDrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
 

Similar to The ABC of Coded Style Guides

Turku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-componentsTurku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-components
James Stone
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
Dave Olsen
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
PiTechnologies
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
Chris O'Brien
 
Monster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applicationsMonster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applications
Laurence Svekis ✔
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
mikehuguet
 
Angular2 Upgrade
Angular2 UpgradeAngular2 Upgrade
Maintainable Javascript carsonified
Maintainable Javascript carsonifiedMaintainable Javascript carsonified
Maintainable Javascript carsonifiedChristian Heilmann
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
SSW
 
Features: A better way to package stuff in Drupal
Features: A better way to package stuff in DrupalFeatures: A better way to package stuff in Drupal
Features: A better way to package stuff in Drupal
Rob Knight
 
Design Systems For Enterprise
Design Systems For EnterpriseDesign Systems For Enterprise
Design Systems For Enterprise
Laura Van Doore
 
PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020
Andreas Jung
 
Practical workflows for responsive design
Practical workflows for responsive designPractical workflows for responsive design
Practical workflows for responsive design
Michael Kowalski
 
Mochajs
MochajsMochajs
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
SPC Adriatics
 
Developing a practical HTML5 magazine workflow
Developing a practical HTML5 magazine workflowDeveloping a practical HTML5 magazine workflow
Developing a practical HTML5 magazine workflow
Michael Kowalski
 
Modern Continuous Software Delivery
Modern Continuous Software DeliveryModern Continuous Software Delivery
Modern Continuous Software Delivery
Martin Logan
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
Erik Osterman
 

Similar to The ABC of Coded Style Guides (20)

Turku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-componentsTurku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-components
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
Monster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applicationsMonster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applications
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
73 Less Fugly Epicenter
73 Less Fugly   Epicenter73 Less Fugly   Epicenter
73 Less Fugly Epicenter
 
Angular2 Upgrade
Angular2 UpgradeAngular2 Upgrade
Angular2 Upgrade
 
Maintainable Javascript carsonified
Maintainable Javascript carsonifiedMaintainable Javascript carsonified
Maintainable Javascript carsonified
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
Features: A better way to package stuff in Drupal
Features: A better way to package stuff in DrupalFeatures: A better way to package stuff in Drupal
Features: A better way to package stuff in Drupal
 
Design Systems For Enterprise
Design Systems For EnterpriseDesign Systems For Enterprise
Design Systems For Enterprise
 
PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020
 
Practical workflows for responsive design
Practical workflows for responsive designPractical workflows for responsive design
Practical workflows for responsive design
 
Mochajs
MochajsMochajs
Mochajs
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Developing a practical HTML5 magazine workflow
Developing a practical HTML5 magazine workflowDeveloping a practical HTML5 magazine workflow
Developing a practical HTML5 magazine workflow
 
Modern Continuous Software Delivery
Modern Continuous Software DeliveryModern Continuous Software Delivery
Modern Continuous Software Delivery
 
RWD
RWDRWD
RWD
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 

More from Henning Muszynski

From 0 to 100: How we jump-started our frontend testing
From 0 to 100: How we jump-started our frontend testingFrom 0 to 100: How we jump-started our frontend testing
From 0 to 100: How we jump-started our frontend testing
Henning Muszynski
 
Alphabet from A to Z
Alphabet from A to ZAlphabet from A to Z
Alphabet from A to Z
Henning Muszynski
 
Growth Hacking 101
Growth Hacking 101Growth Hacking 101
Growth Hacking 101
Henning Muszynski
 
Context Discount
Context DiscountContext Discount
Context Discount
Henning Muszynski
 
Twitter Trend Detection and Analysis
Twitter Trend Detection and AnalysisTwitter Trend Detection and Analysis
Twitter Trend Detection and Analysis
Henning Muszynski
 
Roadtrip
RoadtripRoadtrip
Spark X - Enterprise Crowdfunding
Spark X - Enterprise CrowdfundingSpark X - Enterprise Crowdfunding
Spark X - Enterprise Crowdfunding
Henning Muszynski
 
Virtual Meeting Room
Virtual Meeting RoomVirtual Meeting Room
Virtual Meeting Room
Henning Muszynski
 

More from Henning Muszynski (8)

From 0 to 100: How we jump-started our frontend testing
From 0 to 100: How we jump-started our frontend testingFrom 0 to 100: How we jump-started our frontend testing
From 0 to 100: How we jump-started our frontend testing
 
Alphabet from A to Z
Alphabet from A to ZAlphabet from A to Z
Alphabet from A to Z
 
Growth Hacking 101
Growth Hacking 101Growth Hacking 101
Growth Hacking 101
 
Context Discount
Context DiscountContext Discount
Context Discount
 
Twitter Trend Detection and Analysis
Twitter Trend Detection and AnalysisTwitter Trend Detection and Analysis
Twitter Trend Detection and Analysis
 
Roadtrip
RoadtripRoadtrip
Roadtrip
 
Spark X - Enterprise Crowdfunding
Spark X - Enterprise CrowdfundingSpark X - Enterprise Crowdfunding
Spark X - Enterprise Crowdfunding
 
Virtual Meeting Room
Virtual Meeting RoomVirtual Meeting Room
Virtual Meeting Room
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

The ABC of Coded Style Guides

  • 1. The ABC of Coded Style Guides Henning Muszynski 
 @henningmus · Doist
  • 2. “Let’s style this <span> like the button we have over there” — and other great ideas you might have had
  • 3. Hi, I’m Henning ! ‣ Living in Hamburg, Germany ‣ Studied Business IT & Computer Science ‣ Software Engineer at Doist
  • 5. More productive teamwork Calmer communication More organized team knowledge Twist
  • 6. Reactist ‣ React Component Library ‣ Used in Todoist and Twist ‣ Open Source
  • 7. Avatar Name Level Experience Bar Sideways Scrolling Content Badge Activity
  • 8. What is a Coded Style Guide? ‣ Directory of your components in different states ‣ Components rendered in isolation ‣ Components built in isolation ‣ Live documentation
  • 9. Advantages ‣ Encourage reuse and raising awareness ‣ Higher stability and lower maintenance ‣ Coherent branding ‣ Testing and documentation
  • 11. Agenda 1. Roll your own 2. Styleguidist 3. Storybook
  • 13. Roll Your Own ‣ Main Goal: Add value for your users ‣ Stand on the shoulders of giants ‣ (Development) resources are scarce
  • 14. Styleguidist ‣ Supports: Vue and React ‣ Markdown description of components ‣ Uses your jsdoc and prop types ‣ Zero config for CRA ‣ Otherwise webpack and custom config file
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Styleguidist ‣ (+) Live code editor for every example ‣ (+) Completely customizable styles ‣ Default already beautiful ‣ (-) Markdown sometimes requires some hacking or intermediate components
  • 21. Storybook ‣ Supports: React, React Native, Vue and Angular, … ‣ Stories are just Javascript™ ‣ Extensible via (a lot of) addons ‣ Zero config (webpack based)
  • 22.
  • 23.
  • 24.
  • 25. Storybook & Testing ‣ Same data used for rendering & testing ‣ Automated (visual) snapshots ‣ Viewing test results in stories ‣ Manual checking more affordable (through isolation)
  • 26. Storybook ‣ (+) Easier to demo complex (legacy) components ‣ (+) Test data can be reused ‣ (-) Styling is way less flexible ‣ (-) Creating a documentation is harder
  • 28. Other solutions ‣ Sketch Design Libraries ‣ react-cosmos: showcasing more complex states ‣ … many more
  • 29. Pitfalls or: Learn from our learnings ‣ Start with “easy” components for quick wins ‣ Don’t try to do everything at once ‣ Encourage contribution & make part of reviews
  • 30. Define a strategy and goal Key Takeaway
  • 33. The ABC of Coded Style Guides Henning Muszynski 
 @henningmus · Doist
  • 34. Resources Blogs / Articles / Talks - https://github.com/SaraVieira/styleguide-driven-development - https://blog.hichroma.com/storybook-vs-styleguidist-2bd93d6dcc06 - https://spin.atomicobject.com/2018/01/24/react-storybook/ - http://bradfrost.com/blog/post/the-workshop-and-the-storefront/ - https://blog.hichroma.com/the-delightful-storybook-workflow-b322b76fd07 Storybook - https://storybook.js.org/basics/quick-start-guide/ - https://github.com/storybooks/storybook - https://storybook.js.org/examples/ Styleguidist - https://github.com/styleguidist/react-styleguidist - https://react-styleguidist.js.org/docs/getting-started.html Others - https://medium.com/@skidding/fighting-for-component-independence-2a762ee53272 - https://github.com/react-cosmos/react-cosmos