DEV Community

John Oerter
John Oerter

Posted on

Do you use Bootstrap?

Not long ago, it felt like every site and app in the world was built on top of Bootstrap. Now, it feels like there are a lot of other great options and even though Bootstrap is still very popular, I feel like new projects aren't using it as much. I'm curious if you're still using the framework - especially in a newer project and your reasons for or against Bootstrap usage.

Top comments (48)

Collapse
 
ashklempton profile image
Ash Klempton

Nope , I am not using Bootstrap anymore and I don't think I will be going back anytime soon.

Reason:Because most Bootstrap sites look really cookie-cutter and also Because stuff is easy now. Back in the day when I used Bootstrap,it was primarily for the grid system that Bootstrap offered. This was when flexbox and css grid weren't a thing and the only way of creating good looking and responsive layouts was to use floats and percentages. This seemed way too much to do on your own when all you wanted was a simple responsive website.

Flexbox changed it though, and even more did css grid. Now in 2019 both modules are well supported in all major browsers and have really simplified the process of creating responsive layouts.

Now many may argue that Bootstrap provides way more than just a flexbox based grid system like various components and utility classes.
I agree to that but when I am creating a website , I would rather prefer to create the styling and components on my own than using a framework.

This may sound ridiculous, but this is a really practical way of learning html,css and javascript and once you have done this a few times, you kind of create a front end library of your own. So the next time you have to create a component like a navbar for a new project, you simply use your library.

There are few advantages to this, first you learn a lot and real,you improve your front-end skills. Second,you know exactly how everything works(stuff like which class does what) and third , there's no unrequired code, you only use those classes that you need to.

In the end, it's all about personal preference.I personally like to create styling from scratch as I feel it gives me some additional flexibility. Bootstrap does simplify styling a lot when creating prototypes but for a portfolio website for a client? I would rather go with a tailor-made website.

Collapse
 
seanolad profile image
Sean

If I wasn't so lazy I would have done exactly what you just proposed.

Collapse
 
weeb profile image
Patrik Kiss • Edited

Yes I'm using it.
Why? Because that's the only framework I know.

But I'm not using the entirety of it. Like many create a whole responsive website using nothing but Bootstrap, but I'm only using some of its classes, such as ones of display,margin,padding,background/text colors,width etc. So mostly the basics.

Although it's far from perfect, some classes should have much more variants, like w class has only 4: w-25|50|75|100.

For cases like this, I've created my own classes, like w-1|2|3..., or some break-point specific classes, like w-lg-1|2|3...

Also I created classes for positioning too, such as top-1|2|3.../top-md-1|2|3..., and so on.

Collapse
 
joerter profile image
John Oerter

I see, so you're using the utility classes heavily. Do you use any of the components? What about the grid?

Collapse
 
weeb profile image
Patrik Kiss • Edited

Oh I do use some of the components, I totally forgot that. It's become so natural that I'm using them, that I've really forgot they are all bootstrap components.

They are really useful, especially the modals, those are my personal favourites. But I'm using MDB's enhanced(?) version of these components.

About the grid, I don't really use it.

Collapse
 
kihayu profile image
Kihayu

No, I don't use Bootstrap. Why? Because I like to build my own stuff and my own design. I'm also not the biggest fan of making everything similar. There should be a design different in different projects. The only thing I use is a self-made boilerplate for a grid system (responsive design)

Collapse
 
manuelojeda profile image
Manuel Ojeda

I do.
Professionally speaking, because I can build fast forms with it. But personally I prefer using CSS Grid and Vanilla CSS (or Sass) instead of Bootstrap.

I started my web dev career using Bootstrap and in the last year when I learned a lot of CSS that make me analyse when I have to user Bootstrap and when not.

Collapse
 
joerter profile image
John Oerter

Same here. I feel like the Bootstrap Grid can especially help out when a developer lacks a deep CSS knowledge. But once you know flexbox or CSS grid, the need for the Bootstrap Grid is diminished.

Collapse
 
jwp profile image
John Peters

Our current project has gone BootStrap free. We are using the HTML 5 Grid exclusively for entire site. So far the progress has been boiled down into easily repeatable css markup like this:

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(10em, 1fr));
  grid-template-rows:repeat(auto-fit, minmax(1em, 1fr));
  grid-column-gap: 1em;
}

Tips: use repeat whenever you can with auto-fit and minmax.
The first value in minmax dictates column widths or row heights.
Use right and left margins to anchor controls so they grow/shrink based on grid only.

We also found that just about every one of our components has it's own grid layout.
This means a single page could have as many as 5-10 grids. We have not seen any performance degradation.

It took us about 2 weeks to really understand the grid...

Collapse
 
joerter profile image
John Oerter • Edited

Nice! I use grid so infrequently right now that I feel like I have to relearn it every time I go to use it haha.

That sounds like a good solution.

Collapse
 
jwp profile image
John Peters

One other nice feature is grid areas for strategic placement.

Centering is

justify-items: center
align-items: center

Collapse
 
momander profile image
Martin Omander

I used to use Bootstrap, but the size and its dependency on jQuery made it feel increasingly clunky. Switched to Buefy, which has a cleaner API, results in smaller bundles, and implements Material Design.

Collapse
 
paulocarvajal profile image
Paulo

Same here, I leave it when it went v4. I tend to use milligram.io/ clear and lean.

Collapse
 
joerter profile image
John Oerter

That's true. I'm so glad there are projects like ng-bootstrap and react bootstrap that implement it without the need for jQuery

Collapse
 
sjellen profile image
SJellen

I’m using it for a portfolio project that basically has 50 similar pages and only the info and pictures really changed. It really fights you sometimes.

If I had to redo this project I don’t know if I’d use it, but there is a lot I would change.

Collapse
 
joerter profile image
John Oerter

Interesting, where is it fighting you? Do you not like some of the default styles?

Collapse
 
sjellen profile image
SJellen

I’m an advanced beginner so I know little. And I’m mostly working with header and Jumbotron. But there is css that it overrides. So when you change something in css that it overrides it jerks(live server). Also it’s take a lot of hunting to find a specific element that I want to edit.
The default styles are great and that’s where I get hung up because I want the slick look but I want to change a highlight or a drop down and it turn into a hunt.
Its more about me than bootstrap though.

Collapse
 
mika76 profile image
Mladen Mihajlović

I make business oriented, private apps and use bootstrap and themes on top of bootstrap a lot. While designers might not like the cookie-cutter, sameness of the templates, it's a God send for business software where less design and more practicality is necessary...

Collapse
 
dhatguy profile image
Joseph Odunsi

No, I don't.
I feel like I still need to know more CSS before using frameworks

Collapse
 
joerter profile image
John Oerter

That's a good mentality to have, because a deep knowledge of CSS can help you know when and where to apply the CSS frameworks.

Collapse
 
haaxor1689 profile image
Maroš Beťko

For my earlier projects I was using Bootstrap almost everywhere but since I found out about css-in-js, MaterialUI ans StyledComponents, Bootstrap seems not compatible with the technology I like to use. Theming is only possible with SASS, it has this clunky jQuery dependency and also adding styles to bootstrap classes with StyledComponents was absolue css hell.