DEV Community

Cover image for Please don't use Bootstrap!
Manu
Manu

Posted on • Updated on

Please don't use Bootstrap!

In case you don't know what bootstrap is, bootstrap is a CSS framework.

Here's why you shouldn't use Bootstrap.

All sites look alike!

When you start to see the same layout over, and over, and over again users begin to tune out. You’ve lost me. Your design looks like one of 6,000 other sites out there. And not just the same general layout, but the Exact. Same. Components.

”Let’s be honest: a great many of us are tired of seeing the same old Twitter Bootstrap theme again and again. Black header, giant hero, rounded blue buttons, Helvetica Neue. Yes, you can customize the header to be a different color, maybe re-color some of the buttons, use a different font. Ultimately, however, that doesn’t change anything—it still looks like Bootstrap.

The files are h u g e!

Bootstrap will help you to build an attractive, responsive website, but some mobile users could be turned away by the slow loading time and battery drain issues. Bootstrap comes with a lot of lines of CSS and JS, which is a good thing, but also a bad thing because of the bad internet connection. And there’s also the problem with the server that will take all the heat for using such a heavy framework. Even when bootstrap is minified, it takes a lot of space

Alternatives?

TailwindCSS is much better!

There is no faster framework than Tailwind when it comes to styling HTML. As a result, you can easily create good-looking layouts by styling elements directly. This is possible because Tailwind offers thousands of built-in classes that do not require you to create designs from scratch

Just use plain CSS!

Why use any frameworks in libraries, and just learn the language by itself. You'll even learn (or become better at) a new language

Discussion (72)

Collapse
natescode profile image
Nathan Hedglin • Edited on

You are conflating using a tool poorly and a poor tool.

All Sites look alike

Yes, because you're lazy (which isn't always a bad thing. I've done it hehe) and not customizing the framework. Which bootstrap allows. This isn't a boostrap problem.

This site uses boostrap. Bet you couldn't tell. All the styles are customized. (Yes the site loads slowly. It's 9 years old and are about to launch the new version).

The files are huge

What? Are you just including the CDN to everything and not actually customizing the boostrap build?

getbootstrap.com/docs/5.0/customiz...

Tailwind is EVEN BIGGER if you don't remove unused CSS that it generates.

Alternatives

Make sure to optimize whichever framework you use. Often through Sass imports. I agree though, I absolutely love Tailwind :-D.

Edit

As others have pointed out, my tone was too harsh.

Collapse
ljmerza profile image
Leonardo Merza

His bio says he's in 8th grade...

Collapse
ronnehag profile image
Fredrik Rönnehag

Also says css is torture. Yet he blogs which css lib/framework to use.

Collapse
jankapunkt profile image
Jan Küster

Bootstrap + SCSS = 😍

Collapse
manuthecoder profile image
Manu Author

Love how this post is very controversial...
Also, I've edited the post, please check it out

Collapse
natescode profile image
Nathan Hedglin

I apologize for my original tone. It wasn't that your lost was controversial. It's just factually wrong.

Collapse
vallerydelexy profile image
vallerydelexy

customizing bootstrap?
meh..

i use bootstrap because im still learing about web development, so do the other look-alike website (maybe?) or maybe im just lazy

Collapse
gabrielbb profile image
Gabriel Basilio Brito

Funny because the site you linked loaded very slow for me 😂

Collapse
natescode profile image
Nathan Hedglin

That has nothing to do with boostrap. We only use the grid. But hey believe an 8th grader over a senior developer with a decade of experience.

Thread Thread
walterwoshid profile image
WalterWoshid

Experience means almost nothing in the IT industry. Some people just decide to never develop themselves. Just saying

Thread Thread
natescode profile image
Nathan Hedglin

Haha true! 10 years of experience and experiencing the same year 10 times are two very different things .

Thread Thread
pritthakkar profile image
Prit Thakkar

@walterwoshid No offence budd. But even I used to have the same thinking that experience means nothing, but after actually gathering experience of years I realised experience comes above skills (though skills matter too obviously). But no matter however your skills are, you haven't failed the number of times an experienced guy has failed, you haven't seen those bugs an experienced guy has seen. I can bet that even though you master in any stack, a guy with 2 years more experience than you will do the same thing in much less time and that too efficiently.

Thread Thread
tsolan profile image
Eugene

It strongly depends on how productive you was over these years. Some people can get more experience in less time.

Collapse
peiche profile image
Paul

Your tone was not too harsh. OP needs to educate themselves before going on a rant.

Collapse
natescode profile image
Nathan Hedglin

Duly noted. Thanks.

Collapse
yassineldeeb profile image
Yassin Eldeeb 🦀 • Edited on

Very good points but I think you were a bit too savage in the kiddo.

Collapse
sudhanshu786kumar profile image
sudhanshu786kumar

So said it so true ! 🙌

Collapse
afif profile image
Temani Afif

This is actually funny. I thought I would read "don't use bootstrap, write your own CSS" but I end with worst that "don't use boostrap" --> "use tailwind"

Tailwind offers thousands of built-in classes that do not require you to create designs from scratch

It seems you didn't use Tailwind because you have to create design from scratch since Tailwind only offer a "one property per class". It's basically a listing of the CSS values inside classes. There is no ready design, components in Tailwind if you don't build them

Collapse
manuthecoder profile image
Manu Author

Exactly! This makes TailwindCSS awesome! TailwindCSS doesn't force any designs, which makes it flexible.

And yes, there are TailwindCSS componens (official) here: headlessui.dev

Collapse
afif profile image
Temani Afif

CSS alone doesn't force any designs and is also flexible. Well, this is what CSS is made for. Tailwind is not inventing this and those component are build by people using tailwind. I can do the same with vanilla CSS. Well, it's already done and it's called templates.

Sorry but what you describe was already invented years ago before Tailwind.

Thread Thread
manuthecoder profile image
Manu Author

Actually, you're right...

Collapse
rildlanster profile image
Rild • Edited on

Why such a misleading and vague post is allowed here? Man, seriously, people don't have time to waste.

Collapse
devwillis profile image
David Willis

If that was written by an 8th grader then I'm genuinely impressed. He's as educated and articulate as most of the 20-something, even 30-something, tech bloggers out there.

Collapse
fjones profile image
FJones

Savage, but oh so true...

Collapse
xgstq profile image
James

What a load of nonsense.

1) You can create your own themes using bootstrap sass globals to override the !default bootstrap variables. Then just add your own unique stuff. Simples.

2) You only have to use what you need, import the scss you need for your project. Sometimes I just use the grid system and nothing else.

You don't need to use popper.js or jQuery either and if you really want to go full on, use purgecss purgecss.com/ on the final compile to remove any unused CSS 😁

Nothing wrong with bootstrap if you read the docs and know what your doing 🙏

Collapse
madpoetuk profile image
Elliott Rodgers

Still prefer hand coding my HTML and CSS from scratch whether it is a simple static site or WordPress theme. Get quick load times, can be flexible. One of the very few add ons to HTML and CSS I like using is Font Awesome.

If you want to learn CSS the 100% best way to learn is by doing it, experimenting and trying stuff out.

If you want a great learning resource and one of (if not the) best web development blogs/sites on the internet is Chris Coyier's site css-tricks.com/.

Collapse
duhdugg profile image
Doug Elkin

This is just fantastic! I mean, you're definitely wrong on some ponts, but I am loving the enthusiasm. Do vim vs emacs next! 🍿

Collapse
christiankozalla profile image
Christian Kozalla

Absolutely, suppose a blogger asks itself: "what topic could I write about that sparks massive controversy and attention in the community?" tailwind vs bootstrap, vim vs emacs, typescript vs javascript... What else?

Collapse
willkuerlich profile image
Willkuerlich

Classic tabs vs spaces?

Thread Thread
christiankozalla profile image
Christian Kozalla

Or semicolons vs no-semicolons

Collapse
tomaszs2 profile image
Tom Smykowski

Tailwind is Bootstrap competitor. There. I said it. Both produce similar websites. And it is totally fine.

Collapse
cjsmocjsmo profile image
Charlie J Smotherman

Why use a framework at all?

Collapse
xxxdepy profile image
Deepak Kamat

Hmm... I don't understand. If you got a good designer they can use Bootstrap yet make it stand out. Bootstrap theming is a thing - it just is a matter of how much effort you want to put into it, either that, or just use the modules you want, for e.g I always use the grids utilities and that's it.

Now if you are dumping that bootstrap.min.css or min.js file while you are just going to use 1-2 types of class names it is going to be a waste of resource.

And mobile phones are very powerful today, a few 100 kbs of extra CSS code won't make much of a difference if you have optimized the site in other aspects.

Collapse
tosemar profile image
Tosemar Urtica da Arnica

Haha. This article is terrific. It can only be a joke. Haha.
You are very funny.

Actually this article doesn't makes any sense. It's totally wrong and has huge lack of quality and explanation. It's just your opinion ans probably you don't now anything about you are saying

Collapse
gi_dev profile image
G_dev

All site look the same? Mostly an issue of devs using default components without customization.

Bootstrap is huge? Minified and gzipped it's pretty small.

Choose bootstrap grid only or bootstrap w/o components. Don't pick what you don't need.

Purge unused classes and you'll have a css file more or less the same size as tailwind.

Collapse
punyflash profile image
Dmytro Morozov

1) This is not true that every bootstrap site looks the same. Every UI element on bootstrap is easily themed. If you mean that UI elements are the same - Tailwind not solving that. Same buttons, same inputs, same paddings and margins. You will end up with same page components despite any styles you use.
2) Bootstrap is modular. Even if you just throw all modules in your bundle, this is only ~210Kb. Mainly because bootstrap is not using jquery anymore. My p*nis damn bigger than this.
3) Tailwind is technology that "do nothing"... Okay maybe it allows to write html even more unreadable, but this is strange advantage over plain CSS.
4) Another spam article "this is garbage, use tailwind". I almost feel like Tailwind pays for this trash-talk, it's not even funny anymore.

Collapse
bolonhadev profile image
Bolonha Dev

Why why why should I use Bootstrap?
It's so insane this freak culture.

Collapse
nehanalinik profile image
nehanalinik

Hey! write your own experience not the one you take it out from the Internet and post here. This is a platform where you write your own thing!
I get it from your bio you don't like css. I'm the one who doesn't like css 2months ago and look at me now create websites and designing layouts only with the help of css.

Collapse
invalidlenni profile image
InvalidLenni

I take a look tomorrow in tailwindcss!

Collapse
spock123 profile image
Lars Rye Jeppesen

TailWindCSS for the win

Collapse
dutanugraha6 profile image
Novaslosiv.G

Write css by myself (:

Collapse
samramsan profile image
Samuel Ramirez Sanchez

Nothing like good old & light CSS3

Collapse
rude profile image
JICA98

I customized bootstrap for my website. Except for the hamburger menu, I changed most stuff.

Interested devs can check it out here.
finalbenchmark.com/

Collapse
jhilgeman profile image
Jonathan H

Say you're searching for some piece of information and the first search result is a cookie-cutter Bootstrap site. Are you really going to leave the site without the information simply because it looks like a million other sites?

Even if you've seen the same layout a lot, how much does it REALLY matter if the content is good and the site is easy to use and navigate?

As far as size and load, if you're committed to using the CDN to load the files, then you're actually taking a lot of load OFF not only your server but others, as well.

Loading from the CDN increases the chance of already having the downloaded library in your browser cache (from visiting other sites that use the same CDN) so it loads faster on the page and reduces load on your server.

Collapse
fjones profile image
FJones

Funnily enough "everything looks the same!" is actually a good thing, to an extent. It reinforces UX that people get used to and know how to interact with. How much has the classic bootstrap header become the de-facto standard, even if implemented with other tech? Same thing with jQuery-ui accordions, tabs, and dialogs.

Collapse
tbogard profile image
Erick Rodriguez

Seriously?
This article is :

  • biased
  • lazy
  • NO TECHNICALLY DOCUMENTED
  • Poorly detailed on caveats, issues, common problems
  • no code examples
  • no benchmarking

For a developer blog, this is bad. No offense at all. I expect blog post from dev to be quite curated and informative. This one doesn't reflect anything of that.

Collapse
funnycop profile image
FunnyCop

You can say this about UI frameworks in general. Bootstrap, Tailwind, Material, and all of the others only provide a means for an end and at times people will be want to take the easy way out and this is why a lot of applications look very similar. It isn't the fault of the framework.

Collapse
inerkyjad profile image
Hassan Aoutof • Edited on

You people should really learn to ignore unuseful content, the post has 500 words (i guess) and has nothing to offer, and you find the comments loaded, this only means you ppl don't have anything better to do.
I only commented to point out that you all could use a lesson in ignoring.

Collapse
willkuerlich profile image
Willkuerlich

Just came to read if bootstrap is still a thing in 2022, stayed for the tasty comments..

Collapse
tomavelev profile image
Toma

Having sites looking similar to others is not 100% a bad thing. Users can become accustomed to the UI.

The files are not that huge, especially if you use only the CSS, especially if you cache.

The fastest root is the one you know

Collapse
suyashvash profile image
Suyash Vashishtha

He just randomly gone through some online blog about why not to use Bootstrap and wrote this... Kiddo it is not about using Boot it is about how you use it make websites... Bootstrap is a very good tool when it comes to rapid development.. Using Pure css is like living in hell..

Bootstrap is good if you know how to use it properly...

Collapse
andreseduardop profile image
andreseduardop

Much ado About Nothing.

Collapse
ltsochevdev profile image
Sk1ppeR • Edited on

You do realize that you can customize Bootstrap with SASS right? Not only that but you can also use PurgeCSS (same shit tailwind uses) to end up with sub 50kb stylesheet right? If not, what the fuck are you doing posting here? Bootstrap is modular system as well, you can use, say, just the grid system or the flex system or the utilities.

Collapse
ronnehag profile image
Fredrik Rönnehag • Edited on

You can easily prototype a business application using Bootstrap default components without writing a single line of CSS.

You can easily only include the component css you use by using SCSS and import.

Your sites all look the same because you dont customize the Bootstrap CSS. Which is easy to do using SCSS and override variables. Variables for each component is listed in the docs.

The default Tailwind configuration comes with 36.4KB minified and g-zipped. Compared to Bootstrap at 22.1KB , Tailwind is 14.3KB heavier.

Collapse
suckup_de profile image
Lars Moelleken

In the end, many end user don't care how it looks. e.g. look at gitlab, it's ugly, but it works. And if you really care about design, then you properly do not use any CSS framework or only as starting point of your own CSS.