The Bootstrap Trap
The promise of Bootstrap is so appealing. A quick, easy way to get a web project up and running that just works, and works well.
It is a promise that comes with a trap.
If you’re trying to use a front end framework to offload all the brain-hurting, detail-obsessing, bug-crushing, browser-wrangling mental gymnastics of modern web development, then you are falling into the trap.
What happens when you build your website in Bootstrap 2.0, then Bootstrap 3.0 comes out? What happens when you have bugs? Is it a Bootstrap bug or your own implementation? Maybe it doesn’t work quite the way you need. How much of Bootstrap is a blackbox to you?
If you know your Front End Framework of Choice like the back of your hand, then maybe you’ve avoided the trap. Even so, I bet there are things about it you’d like to change.
Am I suggesting you or your team should consider rolling your own framework for every project? Yes, I’m absolutely suggesting that.
Maybe this sounds like a lot of work. It should also sound like a lot of fun. Just like there is no crying in baseball, there is no lazy in web development.
If you had to hire a great chef, would you hire one who knows how to heat up food, or one who makes all their dishes from scratch? If you want to prepare the best recipes, you need to understand the ingredients.
Dig in and cook up your own flavor of gourmet web deliciousness, but do so by standing on the shoulders of giants. Projects like Bootstrap and Foundation represent thousands and thousands of dev hours. They offer a free peek inside the minds of the best web teams in the world. The work they are doing is incredibly valuable!
Study frameworks. Pick the source code apart and figure out what you like. When starting a new project, always take a fresh look at what’s new on the front end scene.
Re-use from your past. Borrow from the new. Mix them together. Use tools to be efficient. Invent when inspiration strikes. Construct it all together in a way that makes exact sense for that particular project.
Research. Build. Learn. Repeat.