I want to preface this section by saying that your first judgment should be to choose a battle-tested library to build your user interfaces.
That might sound like I’m going against the ethos of the course, but there are a lot of valid reasons why you would want to go down this route. A good third-party library will have:
When working on a new project, my first choice would be to always use a well-respected and well-suited third-party library.
So why am I saying this at the start of a course dedicated to writing your own component library?
For starters, I don’t want to steer you wrong and mislead you for my own personal gain.
Secondly, there are tremendous benefits to building your component library, and there will be times when you recognise that building your own is the right to go.
So what are these benefits?
One of the best ways to understand something on a deeper level is by building it yourself. A component library is no exception. By building your own library you’ll:
Building your own library is an excellent way to advance in your career, not only will you become a more competent developer, but these projects are attractive to employers looking for front-end developers.
If your component library is internal to your job, then you’ll be able to work with your teammates to improve it. As a result, you’ll increase adoption and you’ll be able to demonstrate how much more efficient the team is by using your library.
If you’ve open-sourced it, it may even help developers you’ve never met solve problems you’ve never even imagined! You’ll get to interact with other incredible developers by virtue of maintaining an open-source project.
In fact, one of the reasons I got my job at Anima was because I had written the a2k library, which the interviewers enjoyed learning about.
Maybe most importantly, you can create a component library to scratch a creative itch and capture the joy of front-end development.
You’ll be able to build something exactly the way you want, fit for your specifications. You’ll have a blank canvas, perfect for creating something unique and never seen before. Who knows, maybe it’ll take off in the open-source community!
Here are some of my favourite creative component libraries: