Bootstrap Is Just a Tool
Discussion around CSS frameworks (we’ll just say Bootstrap from here on out) tends to land on one extreme or the other. I’m a firm believer in the middle ground. If something is popular, odds are it does something well. But just because something is popular doesn’t mean its a universal solution.
So if you’re wondering wether or not to use Bootstrap on a project, consider these things:
Starting from square one with smaller clients can be daunting, especially when the budget is in short supply. Bootstrap will save you time at the expense of a familiar and derivative design. But what do Chris Coyier and Dave Rupert say? Just. Build. Websites. Who cares if its derivative. Get your client something usable within their budget.
Ready Made Design Decisions
Some projects don’t need to blow minds. They need to work. Small teams don’t always contain people with design experience, making Bootstrap a win for cohesive design.
Accessibility takes time, attention to detail, and quite a bit of knowledge. You may not have the resources to devote to understanding and implementing good accessibility in your project.
Bootstrap comes with a solid amount of baggage. There’s parts that get used, and parts that don’t. Everything not being used is dead weight. Not to mention the excess specificity which makes naming collisions or overrides a headache.
If you’re using Bootstrap for layout only, that’s ok, but really consider the necessity of adding all the extra code that Bootstrap brings with it. Downloading a custom build of the framework helps immensely.
Also keep an eye on CSS grid, once it hits all the evergreen browsers (at the time of writing we’re still waiting on Edge and Safari) it will be the simplest and lightest solution for layout. And fallbacks are a breeze with @supports. But that’s an entirely different article.
Do we need to dive deep into this? You know exactly what I’m talking about. Every Bootstrap site is. The. Same.
The markup laid out in Bootstrap’s docs is built for use in any scenario. It works, but isn’t as good as it could be. Custom tailored, semantic markup will always be preferable. This especially comes into play for users consuming your content on RSS or screen readers.
The best thing you can be doing is working on a project. Spending excess time, effort, or budget on rolling your own layout and design isn’t worth it sometimes. Other times going custom makes for a unique experience that is absolutely worth the effort.
Reach for tools when you need them, put them away when you don’t.