Why I don't use Bootstrap or any other complex UI framework
In the past, I have developed quite a few sites using Bootstrap. After a while, I came to a decision not to use it because I saw a lot of problems related to slicing sites using Bootstrap.
Recently, after years, I was asked by a client to slice a design using Bootstrap. I was curious if the problems have been solved after years of Bootstrap being in development. And you know what, most of them are still there.
Disclaimer: The reasons I do not use Bootstrap are only my personal opinion and it is totally fine if you disagree with them.
1. The designs I get from designers are usually complex with specific UI features and different components' behavior across various screen sizes. Usually, Bootstrap has not provided me with sufficient flexibility to implement such features in a clean and straightforward way. Instead of spending my efforts on implementing the features the best way, I ended up looking for hacks and workarounds to modify/override Bootstrap to work in favor of the designer's decision.
2. With Bootstrap, you are bringing a lot of unnecessary code into the project. Of course, you can pick only a subset of features that you need in the projects but still, there are a lot of dependencies among the Bootstrap source files and therefore you are still forced to bring in more code than is necessary for the project.
3. I believe, there are ways to overcome the above-mentioned issues to some extent at least. However, as a developer, you need to be focused on Bootstrap, know its best practices and have a lot of experience with that. This needs time and dedication. Personally, besides slicing I focus on client-side JS, Node.js, Kentico Xperience, and Kontent.ai and therefore I do not have the capacity and willingness to focus on a complex framework like Bootstrap.
4. As Bootstrap can handle a lot of things for developers, I assume a lot of them do not understand the underlying core concepts of web technology and would not be able to slice a website without it. I believe that avoiding UI frameworks in your slicing makes you a better developer as it forces you to understand the web technology, not the UI framework. Frameworks come and disappear in time, the underlying web technology is still here.
5. During the times, I developed my own way of slicing that suits the projects I work on, is efficient, and is good to go in Kentico. Bringing Bootstrap into my projects would lead to disruption in the quality of my outcomes.
6. In my opinion, Bootstrap is good for prototyping or for projects that do not require slicing strictly according to a design and do not require modifying Bootstrap's features. Probably, if an agency has designers who can design sites that are fine to go in Bootstrap and experienced developers in Bootstrap, then yes, Bootstrap is the way. However, I work on various projects and with various designers. From my experience, the most efficient way is not to use any complex UI framework.
In the end, I would also recommend an article on Smashing Magazine that shares another personal experience and thoughts on UI frameworks.