Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Truly Portable Design Patterns

Truly Portable Design Patterns

One of the main promises of design systems is to create a pattern or component once and see it reused by designers and developers throughout your organization. This promise is mostly unrealized. The most common design tools cannot consume our front-end patterns, which are often locked in to a specific framework that may not work for every team or project

Fortunately, our tools and web standards are catching up with our design system aspirations. New web-based design tools like Framer X and UX Pin make it possible to import pattern library components directly. Even more traditional design tools like Sketch can be now consume pattern libraries. And web components have the potential to become a lingua franca for design systems allowing us to create components that can be used with whatever JavaScript framework your team chooses.

In this session, Jason will demonstrate how close we are to the promise of design systems by showing how components can flow through our design tools and development frameworks and what challenges remain to be solved.

Jason Grigsby

April 05, 2022
Tweet

More Decks by Jason Grigsby

Other Decks in Technology

Transcript

  1. Truly Portable
    Design Patterns

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. Design System Intermediaries
    • Distributors
    • Translators
    • Themers
    Nathan Curtis

    View Slide

  10. Design System Intermediaries
    • Distributors
    • Translators
    • Themers
    Nathan Curtis
    • Translators

    View Slide

  11. https://medium.com/eightshapes-llc/design-systems-intermediaries-955ef18c9409

    View Slide

  12. https://medium.com/eightshapes-llc/design-systems-intermediaries-955ef18c9409

    View Slide

  13. User-Friendly
    Integrated
    Collaborative
    Pick Any Two
    https://cloudfour.com/thinks/qualities-of-successful-pattern-libraries/

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. DOM Manipulation Component Creation

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. Components all
    the way down
    Design system components
    JS Framework components
    Design tools components
    CMS components
    Web components

    View Slide

  28. https://twitter.com/maxlynch/status/1154844592610656256

    View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. Paul Hebert
    Designer & Developer
    https://cloudfour.com/is/paul/

    View Slide

  34. View Slide

  35. Demo web components
    Button
    Color Swatches
    Radio Buttons Group
    Stepper
    Star Ratings
    Product Illustration
    Text
    Columns
    Product Lockup
    Containers

    View Slide

  36. What is a web component?

    View Slide

  37. Define our own custom HTML elements
    I'm a c4-button!

    View Slide


  38. I'm a c4-button!


    I'm a secondary c4-button!


    I'm a tertiary c4-button!


    I'm a disabled c4-button!


    I'm actually a link!

    View Slide

  39. Custom Elements
    Shadow DOM
    HTML Template
    create new HTML elements
    encapsulates style and markup
    defines fragments of markup for later use

    View Slide

  40. View Slide

  41. ✅ Encapsulation
    ✅ Shadow DOM
    ✅ ES Modularity
    ✅ HTML templates
    A basic web component…

    View Slide

  42. ✅ Encapsulation
    ✅ Shadow DOM
    ✅ ES Modularity
    ✅ HTML templates
    Virtual DOM
    CSS Processing
    Declarative
    templates
    Reactive data
    binding
    SSR

    View Slide

  43. ✅ Encapsulation
    ✅ Shadow DOM
    ✅ ES Modularity
    ✅ JSX Templates
    ✅ Virtual DOM
    ✅ Data Binding
    ✅ SSR
    ✅ CSS Processing
    A Stencil component…

    View Slide

  44. ✅ Encapsulation
    ✅ Shadow DOM
    ✅ ES Modularity
    ✅ JSX Templates
    ✅ Virtual DOM
    ✅ Data Binding
    ✅ SSR
    ✅ CSS Processing
    …compiles to a vanilla
    web component!

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. JavaScript Frameworks

    View Slide

  49. View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. React Sketch.app only supports React Native
    https://airbnb.io/react-sketchapp/docs/FAQ.html#view--text-where-are-the-shapes-talk-to-me-about-your-api-decisions

    View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. View Slide

  59. View Slide

  60. View Slide

  61. View Slide

  62. ?

    View Slide

  63. View Slide

  64. View Slide

  65. View Slide

  66. View Slide

  67. ?

    View Slide

  68. View Slide

  69. View Slide

  70. ?

    View Slide

  71. View Slide

  72. View Slide

  73. View Slide

  74. View Slide

  75. View Slide

  76. View Slide

  77. View Slide

  78. View Slide

  79. View Slide

  80. View Slide

  81. ?

    View Slide

  82. View Slide

  83. View Slide

  84. View Slide

  85. ?

    View Slide

  86. ?

    View Slide

  87. Thank You!

    View Slide