Description
Component libraries are a little bit like design systems or style guides. They are all a great example of how important it is to master the art of taking a large project and dividing it into smaller pieces "divide and conquer" like someone once said or "q: how does one eat an elephant? - a: one piece at a time". This is a key to taking on large projects in web development and it helps with a lot of classic problems that you probably all know from earlier group works:
- Dividing the work between group members
- Knowing how to start on a big project
- Thinking about one little thing at a time but not some huge monstrocity of a project
- Keeping consistency between different parts of a project
- Change it in one place to change every component
Design systems are essentially a visual display of how programming works. It is all about abstraction, decoupling, modularity and dependencies. These topics tend to be very specific to each product and that is both why they have caused big debates in the programming society and why it is so important to understand them, specially in the age of AI when we need to know the product very well to turn generalized code into something specific for our product.