Introducing: NiceComponents

Jan 30th, 2023 • Releases • Brendan Lensink

If you’re anything like us, you spend a lot of time thinking about and building UI.

For iOS apps, SwiftUI has been a huge step forward in making this process smoother and faster because you can now share components like buttons, text, and views between the different screens of your apps.

However, we’d often find ourselves repeating similar tasks to get each new project set up before detailed development could start: defining nice buttons with rounded corners, standardizing text sizes, maybe specifying a big red “this is serious” button. This repetition across projects takes up time, so to make our process a little nicer we started to think about a better way to automate those important first few setup tasks.

To that end, we set out to create a library with two simple requirements:

  1. A suite of nice default components.
  2. An easy way to customize those components.

Of course, sometimes making something simple can be really hard. It turned out to be pretty tricky to build a system that was flexible enough to allow developers to customize everything they might want to, so we made some assumptions, iterated, and came up with a reasonable approach that we’ve been finding pretty helpful.

Now, we’re thrilled to announce the release of ✨ NiceComponents 1.0 ✨ Just like our other libraries, NiceComponents is open source. We’re accepting pull requests over on our GitHub today!

NiceComponents logo

Brendan Lensink • Product Developer

Brendan just thinks they're neat.