Bovendien scheelt dit ook duplicate code en ben je een stuk flexibeler in het maken van aanpassingen later in het project.
Bootstrap maakt het bijna onmogelijk om een CSS pattern als BEM of SMACSS te gebruiken in je markup, omdat de componenten van Bootstrap worden gekoppeld aan de HTML met klassennamen. Hiermee koppel je dus ook styling aan markup. Naast de styling koppel je ook nog het gedrag(javascript) van je website aan je HTML (klassennamen en data attributen). De bovengenoemde CSS patterns proberen juist het ontkoppelen van markup en styling en markup en gedrag zo veel mogelijk te bevorderen. Dit omdat het in een later stadium (na oplevering en live-gang) enorm scheelt in onderhoud als de markup zo min mogelijk gewijzigd hoeft te worden, omdat dit in veel gevallen templates voor een CMS zijn geworden (JSP, ASPX, PHP etc.). Design wijzigingen in een laat stadium zullen hiermee dus ook backend gaan raken. Daarnaast is ook semantiek lastig te behouden met Bootstrap. Bootstrap vereist dat je je markup volzet met te veel klassennamen, enkel om een bepaald Bootstrap component te kunnen gebruiken. Voor sommige componenten heb je soms wel 3 of 4 klassennamen nodig. Vervolgens is het voor een ‘buitenstaander’ nog steeds niet duidelijk welke rol dit component precies heeft in jouw website.
Een argument wat ik zelf vaak hoor is “Ja maar, we hebben een grid nodig”. Natuurlijk zit er een prima grid in Bootstrap en is het vrijwel onmogelijk een responsive website te bouwen zonder grid. Echter zijn hier –naar mijn mening– alternatieven voor die nog een veel betere grid aanbieden dan Bootstrap, waarbij een grid ook het enige is wat ze bieden (niet meer dan nodig). Mijn favoriet is op dit moment Susy, omdat deze het mogelijk maakt met SASS een grid te bouwen, zonder dat dit gekoppeld is aan specifieke klassennamen (bijv. col-lg-2).