A lot of people complain that Bootstrap or Foundation are too bloated for a production app. But really, what I hear when people say that is that they think they can code a better front-end framework than a collective of hundreds of developers.
This is the 1st part in a series of 3 posts about how to use Bootstrap:
- Part 1 - Why you should be using Bootstrap or a front-end framework
- Part 2 - Managing assets:
- Part 3 - Managing variables, mixins and placeholders (coming soon)
Front-end frameworks provide a ton of generic components that you will most likely end up using in your application. Furthermore, millions of visitors experienced these components on many different browsers and discovered bugs that hundreds of developers fixed over the years. The components were tweaked, refined and made better as time went by.
Yes Bootstrap used to impose its style too much, but it's gotten much better in version 3. And Foundation has always been less style-heavy if that's what you're looking for. There are other more minimalist frameworks around if you care to search for them.
The best part? You can use only the components you need, mix frameworks together (if you want to use Foundation's Interchange to have responsive images within Bootstrap for example) and find tons of components built by other developers on top of these frameworks.
Used correctly, these frameworks can remove a lot of headaches for your development team and let them tweak the front-end without having to wait for the CSS experts to come in to help add a new button.
Stop trying to reinvent the wheel and start using a front-end framework, any of them, and make sure you use it correctly.
If you're not using a front-end framework, you should be building one. And if you really do want to reinvent the wheel, make sure you're building one that's better suited for the road you're planning to take. However, chances are that your road is not that much different than everyone else's.
In part 2, I show exactly how to start using Bootstrap in a Ruby on Rails project.