I'm working on going through this Udemy Course on Bootstrap (shoutout to insomniasexx), because I know some basic HTML and CSS and would like to learn more. From there I'm either going to build off this course and make my own site, or launch it in Squarespace and use that knowledge to know what's actually going on in the front end.
There are a few things I love about Bootstrap and a few things I hate. 1. It gives you and everyone else to ability to have a unified set of CSS (and JS) classes/functionality to work with. It makes it insanely easy to work in large teams, or hand off a project to a new person without fear. 2. It's documented as fuck, so even if I hand off to someone who isn't 100% familiar with Bootstrap, they can learn it pretty quickly. +1 for having all their documentation on one page. Yes, it takes forever to load but ctrl+f is amazing. 3. It allows me to spin up new HTML pages in whatever templating language or backwards ass CMS (cough kentico cough) a client is using really quickly since the classes are so modular. 4. Their naming conventions for things are well done and a good balance between short & sweet and actually letting you know what the class does. This helps noobs get a general sense of how to name their CSS classes, without being so overly ridiculous as BEM namespacing and others. Things I Hate: 1. People don't really know what the CSS is doing anymore. A lot of people just load Bootstrap from the CDN and don't look at it or how the less is put together. They don't understand why a column without a row doesn't do X or Y. This is great if you are simply using Bootstrap as a way to style your Angular or React or whatever awesome app you are building. It's less awesome if you want to build websites for a living. Solving layout problems with relative/absolute or clearfixing is one of those things you have to solve in order to really start to get how it works. I recently took over a project where there was a "clearfix" class on every other container, including an H1. They were obviously attempting to solve a problem, not sure which one, and figured adding that class would help. Something solved the problem - I doubt it was clear-fixing the H1 though. 2. If you have any customization (especially in variables.less), it is guaranteed to affect things in 500 different places. It's great if you know what you are doing. To have your forms suddenly jump 5x the height because you wanted your paragraphs to have a bit more breathing room can be frustrating though. 3. Performance. Bootstrap is a weighty fucking massive piece of shit when it comes to performance. Adding 10 classes to a single element is not really an ideal way to do things. 16kbs for a fucking jumbotron that no one uses? I always ditch 90% of the less files when I build a bootstrap project and it's still probably 8 times heavier than it needs to be. It makes you want to have 1000 different utility classes to help you with everything. All and all it's good. But if there were a bootstrap half the size and one that did things like google fonts did and have the little meter jump up when you add 1000 things to your page, that would be better.