Hacker News new | ask | show | jobs
by headcanon 3170 days ago
It depends on what you're doing. Kitchen-sink frameworks like Bootstrap are great for building tools that don't require a lot of customization of the UI, generally things like internal tools.

But for user-facing stuff, designers and PMs want to tweak everything about the interface, and by the time you're done, you've rewritten most of the CSS and you actually spent more effort doing so than had you just written the CSS yourself the first time.

Also, the way you wrote it ends up being a frankenstein-esque collection of style overrides. Zurb foundation is notorious for requiring hyper-specific CSS rules to override their default styles.

Bootstrap has made some progress towards making it more tweakable, but if you're maintaining/customizing an app long-term, you're better off writing your own css for the most part.

Edit: to add to that, the biggest problem that bootstrap solves IMO is a standard grid system, of which there are now many, more composable grid systems to choose from. Grid systems are so basic that its probably fine to pull one from the shelf, but with flexbox its really not that hard to write your own anyway.

3 comments

Just wanted to point out that when Bootstrap first hit the scene this wasn't true:

> to add to that, the biggest problem that bootstrap solves IMO is a standard grid system, of which there are now many, more composable grid systems to choose from. Grid systems are so basic that its probably fine to pull one from the shelf, but with flexbox its really not that hard to write your own anyway.

Bootstrap was sort of a pioneer in the generalized responsive framework space. I recall Zurb Foundation close behind and Skeleton a short time after that...although my time line might be a bit screwed up.

Now with flex box it is certainly easier to roll your own...and that reduces the value (somewhat) of using a framework like Bootstrap or Foundation or (insert other responsive framework here), but it doesn't make it 0 (IMO).

Not really since most browser have their opinion on how to actually flex the box in corner cases (like: an image that has height 100% and not a defined width will cause all kind of fun in a row flexy)
I just had to fix that in a project today. Looked great in Firefox, but Chrome made the images huge and every time the page changed they just got bigger. Seemed completely broken to me.
I think the origin point would have been better expressed with that nuance: if you have the budget, staff (design, dev, QA), and need to customize everything, rolling your own is probably best.

Frameworks are for the 99% of projects where not all of those are true. I’ve had good results limiting gratuitous changes that way: “do we want to pay to change this and test all of our supported browsers/accessibility/RTL?” is a lot better than “No”.

BS4 includes Flexbox and it has been designed to be much easier to customize with SASS. They have also added a bunch of utilities for spacing, colors, etc which makes customization at the CSS level easier as well. For a practical example, I only had to write a few lines of SASS to give some components (e.g. modal) a material design look. I think your criticism is valid for BS3 but not BS4 unless you are building a website that is drastically different than 95% of websites.
I haven't used BS4 so you might be right - glad to see improvement in that area!