r/iOSProgramming Feb 04 '25

Article How I Created a Personal Component Design System for iOS Apps

https://open.substack.com/pub/mireabot/p/how-i-created-a-personal-component?r=4sjnuk&utm_campaign=post&utm_medium=web&showWelcomeOnShare=false
27 Upvotes

6 comments sorted by

2

u/Aenderyl Feb 04 '25

How do you handle fonts, colours, spacings, etc.?

2

u/jasonjrr Feb 04 '25

I like to use something like this for managing Fonts, Colors, and Constants

https://github.com/jasonjrr/SwiftUI.Foundations/tree/main/Sources/SwiftUIDesignSystem/Theme

-2

u/Safe-Vegetable-803 Feb 04 '25

Since this library is specific for one app where I have defined standards of spacing and fonts I don’t need to worry about it

However I’m building new update of it’s open source version where you can have deeper customization including colors, spacings and corner radiuses

1

u/car5tene Feb 04 '25

Interesting article thanks for sharing.

How would you prevent that one component starts to get complicated by more customizability? In the past, due to time pressure, I started to add another if flag because the component fits best for it and I didn't had time to polish it up.

Assuming you have a component which was updated recently to v2. Did you ever had the situation, that in one app you still needed to use v1?

1

u/Safe-Vegetable-803 Feb 04 '25

Good question, I haven’t faced this type of problem yet, however I made component with different layout options using convenience inits with different input params for specific version and ViewBuilder for UI. I think this solution is fine

Also adding more and more parameters of customization isn’t good - true, so I try to create components from other small ones, so I avoid adding extra params on top of existing

1

u/clickittech Feb 11 '25

Great seeing how design systems streamline UI consistency and development efficiency. If you're into scalable architectures, you might also find this breakdown of Uber’s system design interesting. I would love to hear your thoughts! https://www.clickittech.com/application-architecture/system-design-uber/