Odpowiem ogólnie.
Z BS jest kilka problemów:
- Połowy klas nie użyjesz, więc zmuszasz usera do zassania zbędnych kB.
- BS totalnie miesza warstwę widoku (HTML) i wyglądu (CSS). Bo co za różnica, że napiszę "m-t-10" czy style="margin-top: 10px"?
- Założenia BS powodują, że zastosowanie schematu z punktu 2. "ma sens" (w rozumieniu BS), a oprócz tego, założenia te powodują, że bardzo chętnie tworzymy nowe elementy HTML, których można uniknąć, przez umiejętne stosowanie CSS. Im więcej elementów HTML - tym gorzej.
- Stosując BS i tak trzeba pisać własny CSS. Niemożliwym jest chyba stworzenie rozsądnej i w miarę unikalnej strony bez pisania własnego kodu CSS. W takim układzie, po co stosować BS in-the-first-place?
- A nadpisywanie klas z BS to czasem potrafi być okrutny ból, ze względu na totalnie spieprzoną architekturę CSS i nagminne używanie !important przez BS (mówię patrząc na BS3. Wiem, że wyszedł ostatnio v4, może jest lepiej).
Kiedy używać BS (czy jakichkolwiek innych frameworków CSS)? Kiedy na szybko musimy stworzyć jakiś szablon, lub szablon ten nie jest używany przez "klienta" - oznacza to, że w praktyce ograniczamy zastosowanie BS to szybkiego prototypu strony oraz stron typu panele administracyjne.
Rozwiązanie skrojone na miarę zawsze jest lepsze od rozwiązania typu BS, które po prostu musi uwzględnić wszystkie możliwe zastosowania go.
Zalety BS? Cóż, dobre go opanowanie, pozwoli tworzyć strony w krótszym czasie - przez co wynik pracy będzie tańszy. Ale czy chcemy, żeby nasza praca była tania, czy żeby była możliwie jak najlepsza?
W rzeczywistości BS jest teraz po prostu wszędzie, nowe pokolenie webdevów nie umie używać CSS, umie używać BS i innych gotowców i myśli, że są wielkimi webdevami, sieć umiera, dziękuję.