Skip to content
archive

twitter-x-post-2026-05-11-14-31-09

Swift · · 1 min read · x.com ↗

Twitter Post by @jacobtechtavern

URL: https://x.com/jacobtechtavern/status/2053838295168065776

Original Content:

Jacob Bartlett @jacobtechtavern The Really Important Things With SwiftUI Design Systems: Extensibility

On the one hand, I am a gruff, grizzled, mom-at-the-grocery-style-esque pushbacker: “We don’t need an extra button, we have a button at home.”

There is another side to the coin: sometimes you actually do need to introduce new design components. Your design system has to be extensible to be useful long-term.

Frankly, I will have to admit that the flexibility offered from the ButtonStyle compositional approach is a little better for this.

Not because the code is any simpler, or there’s any less of it: because there is less ambiguity:

  • With the progressive disclosure approach, you need to consider whether you can cleanly extend the existing DisclosureButton view component, or simply create a new component if the new design is different enough.
  • With the compositional approach, you can just build a new ButtonStyle.

Read “The SwiftUI Design System War: Composition vs Progressive Disclosure” 🎨 blog.jacobstechtavern.com/p/the-design-s

Image 1 reply, 1 bookmark, 102 views

Summary: Jacob Bartlett discusses extensibility in SwiftUI design systems, comparing the compositional approach (ButtonStyle) vs the progressive disclosure approach. He argues that while he's typically resistant to adding new components, the compositional approach offers less ambiguity when you do need to extend your design system because you can simply build a new ButtonStyle rather than deciding whether to extend an existing view component or create a new one.

Key Points:

  • Design systems must be extensible to be useful long-term
  • ButtonStyle compositional approach offers better flexibility
  • Less ambiguity compared to progressive disclosure
  • Progressive disclosure requires deciding between extending existing components or creating new ones
  • Compositional approach: just build a new ButtonStyle

Relevance to Your Projects:

  • Critical for your Norviq app design system architecture
  • Important for building scalable SwiftUI apps
  • Helps you decide between composition vs progressive disclosure patterns
  • Relevant to your overall SwiftUI and iOS design goals

Article Link: blog.jacobstechtavern.com/p/the-design-s

Hashtags: #SwiftUI #DesignSystems #iOSDevelopment #Swift #ButtonStyle #Composition #ProgressiveDisclosure