Is it considered bad practice/lazy to use Bootstrap?

Hey everyone,

I’ve done a bit of reading about this online, but was wondering what people’s thoughts are on Bootstrap? I’ve loved learning it on FCC, but when it comes to applying for jobs, should I learn to use pure CSS rather than relying on Bootstrap? It’s definitely helped me get responsive layouts working with barely any problems at all - but I also feel like I should learn how to build responsive pages without it at some point… It’ll probably be a lot more work, but I’m more than happy to dedicate the time if it’ll be worth it.

2 Likes

I think it’s good to learn Bootstrap, but like any framework, it shouldn’t become a crutch.

5 Likes

Not at all. A lot of sites use bootstrap, it’s a very popular framework and for good reasons. It’s allowed so many websites to become responsive with ease. The awesome part is you an use as few or as many of it’s features as you’d like. It’s not bad or lazy to use bootstrap and using bootstrap often leads to better webpages since they’re mobile first :slight_smile:

I find nothing wrong in using Bootstrap, although it depends on the purpose of using it. If it’s because you want to utilize all the components, widgets and styles then sure, why not? If you are looking for responsiveness I believe Foundation 6 with flex grid is much better choice (it may seem a bit more complex at first, but using flex to construct grid is much more… flexible :smiley: )

Besides that, I always encourage people to use SASS / LESS versions of all these HTML/CSS frameworks and instead of using built-in classes and utilities, using them via @extend or @import (in case of SASS). But of course it does require SASS knowledge and few more things, so treat it as a side note :slight_smile:

3 Likes

I will always push learning to use pure CSS. But that doesn’t mean you can’t utilize Bootstrap too.

Here’s the thing, Bootstrap like any other framework is there to help you speed up your production time. BUT…what if you get a job at a company that doesn’t use it? Or let’s say in a few years Bootstrap becomes less widely used (have you checked out CSS Grids? Blows the doors off Bootstrap in terms of building responsive layouts). Having a strong grasp of CSS and doing responsive design from scratch can only help you in the long run. It can even help you with using BS too. It’s a win/win.

I’m not going to lie, doing responsive from scratch is challenging at first, but once you get the basics down it’ll get easier and easier. If you’re interested in trying it out I recommend taking a look at https://alistapart.com/article/responsive-web-design by Ethan Marcotte.

And I second pzaj2’s suggestion of Foundation. It’s along the same lines of Bootstrap but way leaner (less styling you have to reconfigure to suit your needs). And flexbox is fantastic too.

Again, there’s absolutely nothing wrong with using Bootstrap, but you’d be crippling yourself by not knowing how to do this stuff without it.

9 Likes

Here’s a vote for Material CSS Framework.
http://materializecss.com/

Using Bootstrap is not an excuse to not learn CSS. I highly recommend you continue learning CSS while also using BS. Sooner or later, you’ll come to a situation where you don’t want/need Bootstrap’s styling on something, and may need to override it, or change it to something else. And if you don’t have a good foundation knowledge of CSS, then it will be difficult for you to fix the problem.

If you have a good foundation in CSS, using all these various CSS frameworks will be a great time-saver, instead of a crutch as somebody mentioned.

5 Likes

Bootstrap is very popular from what I read.
At first I thought I liked it, but learning just a little bit of css alternatives changed that for me.

Now don’t get me wrong, as an html/css/javascript framework I now that there must be a lot more to it than whats shown on freecodecamp and teamtreehouse. When being taught bootstrap basics its presented as more of a collection of class names with pre-configured CSS rules. I know there are some really helpful advanced features like image sliders, and probably much more, which would save a lot of time. In all the lessons on the topic I’ve seen, they’ve never gone that deep though.

I personally use flexbox, which I like a lot, for responsive design. I feel like I have more control, and I feel like its more predictable when I’m trying to do something fancy. That might just be because of my low skill level in bootstrap of course.
Learning more about bootstrap’s more advanced features, is definitely on my to do list though.

2 Likes

Thank you so much for your replies everyone. I’m going to take a good look at all the resources posted here.

There are a lot of sites discussing the use of css frameworks.
I’ve read those and the lesson I’ve learned is to experiment with a tool like SASS , a pre-processor. At the moment I have no experience with SASS but I see the potential. With SASS you can “compile” your own CSS and include pre-written CSS-fragments (called ‘partials’) to build the definite CSS file. Because I am convinced that understanding what’s going on under the hood is making me a better programmer, I will go for SASS. Of course you can adopt CSS code from Bootstrap and W3CSS into your own framework. But the mainpoint is that with SASS you avoid bloating your HTML with dozens of class names that are not semantic.

I like SASS too, but what SASS does and what bootstrap does are very different things. SASS adds power and some modularity to CSS work. Bootstrap is a library with premade UI tools and components. You could use them together if you wish. And class name choice is up to you - CSS or SASS - neither prevents you from being lazy in naming classes.

I don’t like bootstrap that much. The differences between columns is so much its impossible to use. There is a uncontrollable 200 pixel between column sizes. On a extra large screen i feel like i could add more items next to each other, but before i can even get to the large column size when testing its responsiveness stuff gets cut off. Why can’t i make up column sizes, and add more. There should be in between column sizes, like between Large and extra large.

Using Bootstrap is fine. Using pure CSS is also fine (and a lot more satisfying). But, in my experience, trying to combine Bootstrap with your own styles can be a pain - and makes the HTML a mess.

Basically it comes down to this: do you like takeout, or do you like home cooking?

3 Likes

Takeout is expensive and mostly unhealthy. Home cooking requires skill, is cheaper, and more healthy. You can create foods just as you like it. What connection are you trying to make?

Oh, okay.

image is replying…

Grids …
I have learned the HTML5 Grid-Layout (full course at Mozilla MDN). Now I have full control on the layout without adding classes to my HTML elements. Of course there is the issue of backwards compatiblity but I don’t care, people can download easily new versions of Firefox, Opera and Chrome.

I’ll add there are several websites that provide free as well as paid themes that work on top of Bootstrap, if CSS isn’t your greatest skill you can use Bootstrap and then a theme and still have a nice looking website.

Isn’t it the CSS Grid layout? Or is this something else?

something else…

Well, for people who can’t cook, or amateur cooks… take out will probably taste and look better.

For people who can cook, or have a different palate/preference… home cooking style will probably be comfort food.

That video was great. Glad I watched it. Worth half an hour of my life - even just to relieve my anxiety about supporting older browsers differently - just go mobile first! (and urge the user to switch to a more upgraded browser?).

I am glad I don’t have bad habits to break in web development. I hadn’t heard opinions on Grids prior to using them, and I didn’t realize how new they were, so I couldn’t understand why anyone would use anything else for static page layouts. As I’m learning React, the component-based nested grid makes even more sense (although that may be the exuberance of the ignorant).

1 Like

You said “something else” then posted a link that calls it CSS Grid layout.
So…not “something else”. I’m confused