DEV Community

loading...

Benefits of a Component Library

domysee profile image Dominik Weber ・1 min read

At my work we're currently starting to create a company-internal component library.

It will be a bit of work, but significantly improve our UI development.

The most obvious benefits are:

  • Reduced code duplication
  • Increased speed
  • Improved UI consistency

One benefits that is less obvious, but underpins all those is reduced decision making effort. For designers, developers and the interaction of those groups.

In my opinion a component library is there to limit the possible designs, not just to have some base components.

And with limited possibilities, the thinking process will be faster. Instead of literally endless options, designers only have a few. The same thing goes for developers. They see the design and know which components to use. Overriding styles is not an option, only if it is explicitly mentioned and approved by all stakeholders.

If you're not thinking about component libraries as a way to limit design possibilities, you're only getting half the benefit.

The logic will be abstracted, yes, but the styling will still often be overwritten, which might even need custom logic at some point.

This is how I currently believe we can get the most of our component library.

What is your opinion? Do you think it makes sense? Maybe it would be too limiting for a designer? That it'd hamper their creativity? Or even facilitate it?

Do you know of any other benefits component libraries have?

Discussion

pic
Editor guide
Collapse
itsjzt profile image
Saurabh Sharma

Component library increases productivity greatly and if you are going to use the tool internally, You can even opt for reactstrap and semantic ui.

Collapse
domysee profile image
Dominik Weber Author

The problem with reactstrap and similar alternatives is that they have their own styling. Putting your own styling on top of it creates a lot of hassle because of overwriting styles and so on.

That's why we're creating a completely custom component library independent of any other library.

Collapse
itsjzt profile image
Saurabh Sharma

certainly,