Bulma: A CSS framework to consider
matwrites.com
matwrites.com
I always think its strange frameworks like this make you override SASS variables to customize, and talk about SASS modularity. If you are working with SASS, you likely have the skill set to make something like this yourself, or are already working with a Designer. In fact, I think its a good exercise for any Front End Dev to go through the exercise of creating something like this. Pick a good font set, a color pallet (there are sites for that), and standard padding size (16px, 12px, 8px, 4px works well), and you have all you need.
The article had 0 code examples, and only a vague overview of a novel Tile layout. (Is that just display: grid?) Both links from the article to "Bulma" were download pages. I had to go several steps to get to an example. Nothing sets this apart from the million other CSS frameworks.
A CSS framework doesn't need to do something unseen before to be good, It's not competition.
UI Frameworks that try to be something more use JS and this breaks some frameworks, especially frameworks with virtual DOM like React or Vue.
I like Bulma, the only thing is that the community is still small, so you can't browse through endless button or dropdown alternatives.
Jen Simmons made a really good video about exactly this topic - https://www.youtube.com/watch?v=7msERxu7ivg
Rachel Andrews' blog post about IE and Grid - https://www.rachelandrew.co.uk/archives/2016/11/26/should-i-...
Mozilla article about progressive enhancement and Grid - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_La...
Some web developers out there are still supporting ActiveX components that no one is willing to replace. I don't think anyone would advocate building a new site using ActiveX though. At some point we have to move forward and adopt new technologies that improve the way things are built. We're at a point in web dev where Grid is ready for mainstream use.
Given no decent flexbox polyfills, I would doubt the existence of a good grid polyfill. If we can't do flexbox, how do we cope with grid?
However for a recent site build [0] we went with Tachyons [1] - for anyone who's not come across it; give it a try!
The immutability of the styles make it so quick to iterate and develop. Despite the start-up cost of learning something new (with a slightly different approach), I'd say it's significantly quicker to get something done with.
Tachyons popularised the concept of functional CSS, but it's very hard to customize (a lot of copy/paste, custom cli tool to recompile), whereas Tailwind has a per-project configuration file for colors, breakpoints, etc. and you can build components out of their CSS primitives (if you use PostCSS).
I'm not a web developer and I used Tachyons for a personal website and a front end for a tool. It felt very comfortable to work with, and the examples section they have was incredibly useful as a mix & match copy/paste source. Loved the results.
It's currently in use both at https://phishfinder.io and https://certstream.calidog.io
Default styling feels a lot like github with a little less information density.
Bulma 0.6.2 is bigger than bootstrap 3.3.7 at 223k vs 146k for bootstrap, considering only the css size since Bulma doesn't have any js or icons.
Over 10% of our business users use Internet Explorer, due to NPAPI plugins (Java Applets, ActiveX, etc); it is their default browser within those companies.
I want to remind Robert Martin's advice about this issue; "Never buy magic! Before you commit to a framework, make sure you could write it. Do this by actually writing something simple that does the basics that you need. Make sure the magic all goes away. And then look at the framework again. Is it worth it? Can you live without it?"
http://blog.cleancoder.com/uncle-bob/2015/08/06/LetTheMagicD...
One should interpret "you" as "y'all" here. An individual can maintain their own framework-in-a-small-project pretty reasonably. However, as you build a team and codebase, there is a great benefit to either using an existing framework with its existing documentation or to extracting your framework into something that can be separately documented. That way, it is easier for new-joiners to understand the overall structure and woodgrain of your project which lets them more easily understand any given piece.
I agree with your overall comment though. More resources like http://rebuilding-rails.com/ should be available so that people understand how their frameworks actually fit together.
EDIT: Except for beginners. If you're starting out programming, it is more important for you to be able to get things working than to worry about writing a framework from scratch. If a framework has solid tutorial docs and especially solid installation docs, go for it. However, if you find yourself trying to glue 3 different frameworks together without a tutorial to follow, you probably want to be using different tools. Find something like http://chimera.labs.oreilly.com/books/1234000000754 which comes with automated testing and tells you how to set it up.
Computers are layers upon layers upon layers of magic, and while it's obviously beneficial to understand as much as possible, it takes a lifetime to understand it all. Low level programming languages just happen to be the layer he started out at, and obviously preaches that everything above is mostly pointless magic, ease of use and productivity be damned, and everything below is "absurdly simple" (lol).
However, I moved to bootstrap.
However my major pain with bulma was styling table elements by defalt, and the styling can't be turned off.
This issue does not happen with bootstrap because bootstrap styles are opt-in.
Moreover, that will only work when you are compiling sass, if you are using bulma for quick prototyping, you will use dist files.
Since it is quite new, some parts are still mildly annoying, such as too long classes for certain elements (.has-text-centered should just be .text-center like bootstrap or .is-center). Also, I had some conflicts with a code highlighter because both styled ".number" elements. I would prefer ".is-number". So in general, they have to be more consistent on their class names, tweak some of them and watch out for too simple class names (".number").
2. why do so many people want to build one?
But hey, as the XKCD comic says:
It's well documented and lightweight, so far so good.
https://i.imgur.com/UryNOCR.jpg
Of course, the presentation of the framework may have no bearing on its quality; this is just my first impression.