A counterpoint to “Should You Use Bootstrap or Material Design for Your Design System?”.
As much as I agree with the succinct nature of the previous article, I’m not convinced that a big decision such as this can be summarized with such few points. Let me share some thoughts…
First off, I think Bootstrap has gotten a lot better at lending itself to custom branding over the years. There was a point in time when Bootstrap was riddled with CSS gradients and overriding them was a major pain in the ass; not to mention, your dev tools would resemble some sort of infinite scrolling hell. While Dan chose to illustrate updating the CSS markup in his example, you could also achieve similar results by just changing the variables inside of your Bootstrap
$card-cap-bg: rgba($black, .03) !default; $card-cap-color: null !default; $card-color: null !default; $card-bg: $white !default;
Perhaps this suggestion wasn’t surfaced because of the decision to switch to a BEM code convention. While I agree that code conventions are a very good reason for choosing to roll your own Design System, I think the bigger underlying motivation is familiarity, which in a large part can be driven by ego. Let’s face it: as engineers and designers, the majority of us all want to build something that is our own and when you build something that is your own, you're not only motivated and proud but you also know the ins-and-outs of the system. From a management perspective, there's a big employee satisfaction aspect to rolling your own system. This is one of the big reasons why I think people don't like inheriting somebody else's system.
Lee, stop playing devil’s advocate and get to the point…
The reason I chose to chime in is not because I disagree with points Dan made. I’m just not convinced that a decision such as this can be summed up in such few words. Here is a list of other aspects that might come into play when choosing how to get started:
Read this next
Weighing the pros and cons of rolling your own design system.