

Ask HN: To Bootstrap or Not to Bootstrap? - tlong

I have been using bootstrap for years and generally prefer it as the starting point on all of my front end designs. But I&#x27;m working on a project right now with another developer who doesn&#x27;t want to use it because he says it&#x27;s heavy and doesn&#x27;t follow best design practices.<p>I have never had a problem before. What do you think? Why not use bootstrap?
======
rickr
I've been using bootstrap for a while now too and lately I've been trying out
new libraries just to see if anything is better yet. On feel alone I didn't
love foundation.

For a project that required pretty heavy customization I ended up using
skeleton/react ([http://getskeleton.com/](http://getskeleton.com/)) and
enjoyed it.

I saw Semantic UI on here the other day and I may end up trying that out on my
next project: [http://semantic-ui.com](http://semantic-ui.com)

~~~
tlong
Nice. Haven't tried Skeleton. Maybe this is a good compromise. Thanks

------
sjs382
I use bootstrap. On 90% of my projects, you wouldn't be able to tell without
looking at the source. So, I'm not sure what bootstrap has to do with design
practices. You can implement any design using bootstrap.

As far as being heavy, just go through and throw out the stuff you don't need.
It's reasonably modular.

It seems as if the other developer doesn't like how default bootstrap looks
(or is bored by the overuse of default bootstrap), and he's justifying his
preference.

Otherwise, ask him what "best practices" are missed.

~~~
panorama
OP likely means functional design as opposed to aesthetic. For example, I
don't particularly like Bootstrap's unsemantic class naming schema. Although
admittedly, most CSS frameworks are just as guilty; Bootstrap just happens to
be the most popular.

~~~
sjs382
If you have a problem like that, you're using bootstrap the wrong way. It's
okay—I do, too.

The right way is to use LESS mixins to match bootstrap classes with your
semantic classnames.

~~~
tacone
Less-mixin wrappers are not the right way, but just one way that somebody once
stated to be the best.

I used the semantic mixins method quite a while, and let me say that it does
not feel that good. Once you have your html full of nice "article-box"
classes, who will ever notice?

If you strip completely your css from your markup to re-use it in another
project, you're left with literally nothing, if not a bunch of semantic
classes than then may also be semantically wrong in respect of the new project
(has the article become a tutorial?).

Using bootstrap classes are a convention you can reuse in other projects, as
well as override when you need. If you strip your css then, and replace it
with a vanilla bootstrap, you'll get a halfway good looking page you can work
on.

It's perfectly ok to pursue semantics, except that semantic class attributes
are the most useless form of semantics.

In a time where angular and react challenged the very concepts of
markup/behaviour/styling separation, after the utter failure of XHTML (the
parsable markup nobody ever parsed) and the mild failure of HTML5 semantic
tags (whose cases of use are confusing at most, and overlap dramatically with
the arya attributes) I try to avoid to be too strict about semantics.

------
tacone
My take:

Bootstrap is made of several components, which make it trivial to recompile it
without the not-needed parts. You can even do it online (as well as save/reuse
configuration files):
[http://getbootstrap.com/customize/](http://getbootstrap.com/customize/)

The _full_ bootstrap css weights 23.5kb gzipped. If you're not using gzip on
your servers then that's the problem you should solve.

What makes bootstrap good is not the features per-se. It's the huge amount of
cross-compatibility knowledge in it. There are many cool frameworks around,
but it's hard to find something so solid and battle-proven as bootstrap.
That's the real point of using bootstrap.

------
panorama
If you're nit-picky about your CSS (as I am) and just want to write it the way
you want to write it without a framework making guiding decisions for you, I
recommend the lightweight library Bourbon by thoughtbot (and the companion
library Neat for a grid framework). www.bourbon.io

~~~
tlong
Nice. Thanks. Hearing a lot about bourbon lately but haven't tried it.

------
benologist
I've been considering this a lot lately myself, the biggest pro I've come up
with is that with the right project a _lot_ of people can easily dive into
customizing / theming the work and if you're careful existing themes might be
really easy to integrate.

If nobody else is going to be editing the project then it's really just a
tradeoff between your own time vs download size, if you can afford to shave a
few hundred kilobytes off your first page load that can be a big improvement
for many audiences.

I've been favoring Skeleton as a significantly lighter alternative, although
it is very small in comparison to bootstrap -
[http://getskeleton.com](http://getskeleton.com).

------
anonyfox
For most usecases, bootstrap is fine. It delays the "designing" part so you
can think about your product and actual features directly. And if you are
tired of the "standard look and feel", you can buy nice themes later for a few
bucks.

Projects that should not use bootstrap are the ones where every milisecond in
performance truly matters, or when you have custom design requirements that
would need major "overruling" of bootstrap. In this case, I recommend using a
very lightweight CSS framework with a responsive grid instead, like
[http://purecss.io/grids/](http://purecss.io/grids/) .

~~~
bbcbasic
This template has a good response time if you remove the Google Analytics
script:

[http://motherfuckingwebsite.com/](http://motherfuckingwebsite.com/)

~~~
tlong
Haha. This is awesome.

~~~
breakingcups
See this counterpoint:
[http://bettermotherfuckingwebsite.com/](http://bettermotherfuckingwebsite.com/)

------
schuettla
Here is a good page comparing bootstrap to other alike frameworks:
[http://responsive.vermilion.com/compare.php](http://responsive.vermilion.com/compare.php).

Personally I would again choose bootstrap, if you have previous good
experiences with it.

------
theaccordance
If you use Bootstrap's source files, you'll have granular control over the
framework's weight, since you can simply exclude the components not used in
the project.

------
paulhauggis
I love bootstrap. I use it for all my projects. I'm not a designer and allows
me to have a fully functional site in a short amount of time.

