Hacker News new | ask | show | jobs
by SippinLean 3169 days ago
Bulma is very far behind.

* Lacks all the JS components

* Lifts from Bootstrap for most of the CSS components, sometimes down to the class name

* Makes the mistakes of early Bootstrap, namely heavily nested classes like .card .media:not(:last-child) that are difficult to overwrite and cause great pain when customizing

* Uses antiquated non-extensible syntax/naming conventions for breakpoints, such as "is-desktop" instead of "small, medium, large" etc

* grid system is not flexible, breakpoints are hardcoded and there's no easy way to generate your own grid

* no mixins I can use in Sass instead of using classes in HTML. There are a few helpers but no way to setup columns without HTML classes (like you can in Bootstrap)

* overall lack of easy customization, no theming tool and very limited variables. in BS almost everything can be customized using Sass variables

It simply isn't as mature or battle-tested as Bootstrap. There's a reason it's not 1.0 yet. BS can do everything Bulma can, the reverse is not true.

1 comments

Coming from BS3+jQuery, BS3/4 was confusing or obtuse to use the jQuery dependent parts with VueJS (modal being a good example). Most BS+VueJS libraries were incomplete or broken somewhere in the VueJS 1 => 2 shuffle. Bulma was not confusing, it's JS agnosticism being the main reason.
Bootstrap can be used with just the CSS and none of the JS components, although Vue also makes it easy to encapsulate jquery into components. [1]

Tachyons [2] is another CSS framework that basically takes the component approach to the extreme and makes all styles separate, like bootstrap being made of only utilities.

1. https://vuejs.org/v2/examples/select2.html

2. http://tachyons.io/