Bootstrap 4 Beta 2
blog.getbootstrap.comI've been using the Bootstrap 4 beta for a couple weeks building a side project (https://nanagram.co) and I must say, it's been great to use. The built in utilities for responsive views and spacing are especially useful. Made optimizing the homepage for multiple screen sizes super fast and not painful at all. The Beta 1 had pretty good documentation and seemed pretty mature as well. Looking forward to upgrading to the Beta 2.
Have you considered using a guilt-driven pricing schedule?
"Emotionally Distant Grandchild" , "Good Grandchild", "Nana's #1"
This comment actually made me laugh out loud.
We didn’t put much thought into the pricing plan names to be honest. Will pitch this to my brother, who I built this out with over the last couple months.
Haha, yes. They were placeholders that ended up going live. Premier is named after our Grandpa, who calls things he loves "Premier". His friend he was in the Boy Scouts in during the 1940s is the Grandfather of Andy's best friend. Anytime my Grandpa talks about Andy's friend's family he calls them the "Premier Family of Weymouth" :)
We'll probably keep the Premier plan but need to rename the others.
Bampa and Bumpa are sometimes used for grandfather. Meemaw and Mimmie for grandmother.
I noticed your changing text of names. If you do international, the choices are huge.
My kids haven't seemed to figure out how to make babies. I've even tried bribery, to no avail. So, I'll send your link to all my old people friends. They can then send the link to their children and guilt them into using your service.
Maybe a HN launch would be good? Pardon me, if I missed it and you've already done it. Still, I'll forward it to the appropriate old folks for you. Good luck! It looks like a brilliant idea and the name is fantastic!
Edit: Also, the price for 100 is really, really low. I don't know about the math, but that's impressive. If you're able to profit at that amount, great. However, I expect a much higher price for that number and, if actually wanted, would pay more - assuming the pics are on good quality stock and well done.
I could also see some value added services. Touch ups, fancy text, maybe frames at holiday season, border themes, things like that.
For fancy text you may need to license fonts, by the way.
Edit again: A second opinion says your top two package prices are too low and she says the price 'makes her suspicious.' I asked why and she says it makes her think they are of poor quality.
I asked her about pricing she said, "The first one is $0.79, so $0.69, $0.59, $0.49. Something like that."
That's official Old Lady pricing suggestions. In other words, your highest package would be closer to $49.99 per month. I kind of agree with her - it would be more valuable than the price listed, of only I had a use.
She also suggested marketing it to the grandparents. Here is her quote, "Just market it to the grandparents. They will pay to have their kids send them pictures. It would be even better if they could choose a big package and let all their children send in pictures using the same account."
That's close to verbatim. The grandparents would have an account and their multiple kids could all send in pictures to the same account.
Err... She also suggests $X.XX/picture after X-amount of pictures. LOL It probably would have saved time to just give her the keyboard. She's very optimistic about your service.
Awesome feedback, thanks.
HN launch could be fun. We haven't done that yet. Andy left this comment a couple hours ago on a whim and all of the sudden we're getting tons of crazy feedback! Right now we're just focused on trying to make the service solid for a handful of people.
The feedback on pricing is helpful. I'd actually like to get the prices down to half of where they're at now. 6-month stretch goal :)
Hadn't thought about the font customization over the images. Great idea.
Thanks for sharing with your old folk friends. Best of luck with the creation of Grandchildren. I'm rooting for you.
LOL I just edited my post - again. She tossed a few ideas out. They actually seem like sound ideas, because she is brilliant and perfect in every way. I like both the ideas, you're obviously not obligated to like them.
NanaGram, making all your dreams come true. Well, we can't make that grandkid dream come true... but we do what we can: https://imgur.com/a/TjOQc
P.S. We called my grandmother on my Mother's side Mimmie before she passed away years ago. Scratching my head why I missed that one and thank you for the reminder.
Fantastic! The missus has also already started mailing the link out to all of her Grange Hall friends. The thinking is they'd buy subscriptions on behalf of their kids.
She's remarkably interested in the product, if that is a signifier for you. We are old, in our fifties, and financially secure. The vast majority of our friends are in similar positions.
I add this because it may help your marketing choices and, while anecdotal, she does seem intrigued and excited.
Oh dude, good thing Mom isn't on HN.
Very good feedback about marketing to Grandparents. We've got some further testing to do.
On pricing, just want to confirm that you're seeing the price of $7.99/mo for 10 photos and not $0.79/mo for 10 photos?
Yup. The price I'm seeing is $7.99/mo.
Sorry - I switched to a laptop, as it's easier to type this out.
Now, 10 pictures is $7.99 is $0.77 each.
To keep that in mind, and do some quick math...
Package 2 is 25 pictures. If we use the $0.69, then $17.25, which can be rounded down to $16.99.
It's not major until you get higher.
Package 3 is 50 pictures. Using the same progression, now at $0.59 per image, we get $29.50.
Package 5 is 100 pictures. Again, that's now $0.49 which works out to a price of $49.99.
If you wanted...
Package 1 could be $7.99 for 10 (each additional is $0.75)
Package 2 would be $16.99 for 25 (each additional is $0.65)
Package 3 would be $27.99 for 50 (each additional is $0.55)
Package 4 would be $49.99 for 100 (each additional is $0.45)
Something like that. 100 well printed pictures each month? That's well worth $49.99 for many of us.
That's also a lot of pictures - so the idea comes into play of having a single recipient who can have multiple authorized senders. So, the grandparent's three kids could all send pictures to the account. (There's a number of ways to decide if only x-amount get printed, perhaps the final choice is done by the payee.)
You can just email me, if you want. uninvolved@outlook.com is certain to be seen and responded to, eventually.
I don't want to derail the thread too far. I'm just trying to share some quick and dirty marketing data.
If each of my kids made me a grandfather, I'd buy a package of 100 - if they can distribute it between them. If not, I'd buy two packages of 100 - and I'd do so at the $49.99/mo price, no questions asked.
I kinda like the idea of X-dollars for X-number of pictures and then X-number for each additional pictures.
I guess if you were to do that part, you should do the ethical thing and automatically charge them the less expensive price if, for example, they want to send 25 pictures in one month. If they want to send 25 pictures that month, you might as well just charge them for Package 2.
It'd be more ethical and probably encourage people to try higher packages - and then commit to keeping that same level of shared pictures.
And, as said before, there's ton of value-added services that you could toss into this.
Feel free to email, if you want. I'll throw some time at you. I wasn't doing anything better and HN is always good at helping me out when I have a question.
Edit, I typed a number wrong.
I signed up for your service. Do you have any competitors in this space? I thought the experience overall was very simple. Are you thinking about adding options for the prints? For example, glossy v. matte or 4x6 v 5x7?
Edit: I see you replied to someone else and I cannot tell if the service is actually live (as in my card is going to be charged and photos are going to ship).
It’s live, and thanks for signing up! The photos you text in will ship in a month from now.
We’re definitly going to add other options in time. Right now we’re trying to get the MVP right with 4x6 glossy prints.
There’s a few other services that let you send postcards (expensive) or use apps to let you grab pictures from your phone. The apps tend to have more friction than just sending an MMS and to my knowledge, we’re the only ones that let you add the captions for context for your grandparent.
Would love feedback as you use it more. We’re pretth fast at building stuff and love hearing ideas from our customers.
Another option that would be good would be to allow to crop. I know I sent some photos in that are not 4:3 so I'm curious to know how they will print. I'm assuming they will be centered by whichever print to ship service, but others that may not understand what's happening here might have some heads chopped off in a printed picture.
Thanks for signing up Matt. Just sent a response to the support ticket you sent. Thanks for taking the time to let us know about that bug.
We have the ability to do matte or glossy already and I just need to get in there an add it as an option. I'll make a note to ping you once that's ready.
The service is live and ready. Your first order will ship in 30 days from now! :)
Your side project nanagram reminds me of a similar service, Pidgeonly, which allowed people to text photos to inmates that heard on an NPR podcast -- http://www.npr.org/2015/03/25/395238624/ex-inmate-uses-his-s...
I hadn’t seen that. Sounds like an amazing story and will definitely check it out. Thanks for sharing.
I think you and your brother are onto a nice little business (at the very least).
I just sent your link to my wife who literally sends photo packages of our kid to her mother (who does not live independently and lives vicariously through the life of our kid).
I appreciate that you're not fully up-and-running just yet, but from the looks of it, a little operational scaling may be in your future :-)
Best of luck with the venture.
Thank you for sharing with your wife and for the positive vibes. We're technically up-and-running with a dozen customer, just haven't really stepped on the gas with growth yet. Want to make sure we work out the rest of the small first kinks before working on growing. Would love to have your wife sign up if she's interested and doesn't feel like sending photo packages manually anymore. Feel free to have her reach out to me - andygcook [at] gmail [dot] com with any questions too.
We just launched our re-design using the beta (https://www.drugbank.ca). We couldn't be happier as well.
You have a f` floating on your landing page, under the photo next to "Never miss a photo"
Well, F... :)
Thanks for pointing that out. Will get it fixed.
That was totally my bad. Thanks for the heads up. The f` has been nuked.
Love the idea! Does this ship internationally? Some FAQ/ToS/etc would be good.
Thanks! And good point on the FAQs + TOS. Will add them to the to-do list.
We're beta testing the app right now with friends & family and have made our first few deliveries already. The response has been great so far from people's grandparents. They love getting the prints in the mail with the captions to tell the story of the photo on them.
We're going to be exploring international shipping soon. What country does the person you want to send photos to live in?
[edit - spelling]
Germany.
Something like this also needs the ability to delay shipments - old people are more likely to be admitted to hospitals or similar.
That's a good point too and something we hadn't considered. Would it work if the package was just delivered in the mail as usual and they could open it when they got home as something to look forward to?
That assumes that old people live at home / have a regular mail box. What if they live in a nursing home or similar? Although 4x6 (10x15cm) is postcard format, so usual mailboxes should fit quite a number of those just fine.
The photos come in a pretty much regular sized envelope that fits in small mailboxes. I do like the idea of letting people pause a delay a delivery for whatever reason they want, or maybe even redirect it at the last minute if needed. Appreciate the feedback and ideas.
Compress your images or something. I'm on gigabit and the page is still taking forever to load.
Thanks for the heads up. Thought we did compress them, but I missed admittedly huge 1.8MB photo. Should be faster now.
Your hamburger menu doesn’t work for me. I’m on the latest version of mobile Safari.
HN can be counted on to find any and all bugs! Squashed. Thank you.
That is such a lovely service.
Thanks, Ian! Really appreciate the kind words. Our Grandma & Grandpa love it so far, especially my Grandpa. He’s almost deaf and can’t use the phone. Getting photos in the mail from our family helps him keep in touch with what everyone is up to in life between visits.
The best side benefit so far is probably how it's getting Grandkids to visit their Grandparents more often. My fiance and I visited my future Grandma-in-law on the day her photos were delivered. They made plans to get together for breakfast monthly now. Good vibes!
I know I am going to be downvoted so hard, but really it's very easy to build you own css these days, css frameworks look an easy solution for beginning your project but they become a burden gradually as your project grows
Really it's very easy to build your own web application framework these days, existing web application frameworks look an easy solution for beginning your project but they become a burden gradually as your project grows.
Really it's very easy to build your own database software these days, database servers look an easy solution for beginning your project but they become a burden gradually as your project grows.
Really it's very easy to build your own car these days, pre-made cars look an easy solution for beginning your project but they become a burden gradually as your project grows.
...
All of these cases may be true if you are the 0.01% that wants to do it to learn or have some very special business need that calls for it. For the other 99.99% of the time, it just keeps you from focusing on the stuff you actually need or want to accomplish.
These comparisons are incredibly dishonest.
I don't think so, and depending on your familiarity with the topic, your opinion might be different too.
Creating a web application framework that handles your needs can be incredibly easy. I can, and have multiple time, done so in Perl for a quick project in the distant past. It takes about 20-30 lines or so on top of loading the modules you would probably already want available for a system like that. Pull in HTTP::Daemon, pull in the HTTP modules, tie them together with a little regex foo for route parsing, done. In the very simple case, it's easier to do this than pull in a framework. In the very complex case where you need intricate control over odd parts of the process that frameworks don't usually give you, it's easier if you had written your own from scratch. In all the other cases, which I feel I was being generous in saying was only 99.99% of the time, you're better off having offloaded the concern to someone else.
Creating a database is also very easy. In the simplest case, you choose a record structure and write to disk opportunistically or on every change. Again, for the very simplest case, that's actually easier than even pulling in SQLite. In the very complex case, you can do interesting preprocessing and specialized storage techniques to store your data in ways that aren't amenable to anything except for a custom format.[1] Again, the vast majority of the time, you just use SQLite, Redis, or a RDBMS and it does a passable job at dealing with all your data integrity and warehousing needs. If you're a company trying to manipulate a dataset in a heretofore unseen way (either much faster or much more detailed that before), you might actually need to do it from scratch.
Creating a car is also fairly easy, if you have the prior experience (about as much or less as expected above). Like above, you're largely throwing existing parts together and the hard work is knowing what goes where and shaving off the pointy bits that prevent it from fitting really well. If you need to race something (because why else do you create a car?), in the simplest case you might just grab some cheap broken down beater and put a little work into it where needed and you have something that goes in a circle and you won't care too much if it barely finishes. If you have the money, you can buy a pre-built race-ready car and compete as am amateur. If you're an F1 team, you build the whole thing from the ground up to exact specifications.
This is, of course, all presupposing that the people involved actually have the knowledge and ability to do the really simple or advanced things. Often, they don't, or at least don't have enough to make it even feasible. For example, I know how to read and write CSS, but I'm not very good at it. Similarly, I know how to write HTML and apply CSS fairly in an amateur manner. I'm not a UI or UX designer. Does it really behoove me to learn the intricacies of design layout instead of using Bootstrap? I either don't care about how it looks at all, in which case I'll make it text/plain or at the most a couple of header tags, or I care enough that to make it somewhat passable visually I'll use Bootstrap. In what situation am I better off using CSS? In what way does that apply to more than 0.01% of the people out there?
Come back after you've built a database system used by tons of users and a car that someone is actually driving.
No one will take your argument seriously when you say ignorant stuff like "Creating a database is also very easy", or "Creating a car is also fairly easy".
No matter how you spin it, it is FAR from easy to build any of those, and the only people who think it's easy are those who don't have real experience.
> No one will take your argument seriously when you say ignorant stuff like "Creating a database is also very easy", or "Creating a car is also fairly easy".
Holy shit, did nobody read the last sentence of the original comment? I'll spell it out. The first three things were meant to be similar statements to the comment I was replying to, and the final sentence was explaining how they, plus the version in the comment I was replying to, were bullshit.
I then went into excruciating detail in the next comment on why, for each specific case, and capped it with a paragraph summarizing my point.
> No matter how you spin it, it is FAR from easy to build any of those, and the only people who think it's easy are those who don't have real experience.
Which is fully in line with exactly what I was saying.
It's much easier to build something that's suitable for your one specific use case than it is to build a general-purpose framework. Database systems, cars, and Bootstrap are all general-purpose. But if you need to store a collection of name/value pairs, carry a load from fixed-point-A to fixed-point-B, or create a web-page with a specific and custom style, building something from scratch can be the right way to go, and it can be easier than forcing a general-purpose solution to fit what you need.
But we're not talking about something with tons of users.
We're talking about a bespoke just-for-my-project sort of thing. That you think it's not even worth it unless you can get tons of users is part of the point. It's just a distraction just like your bespoke CSS framework.
> Really it's very easy to build your own database software these days
> Really it's very easy to build your own car these days
Wow really? Hold my beer while I go build some car and a database! You learn something new every day!
Maybe you should read the last sentence again. I think perhaps you missed something.
hah! sorry about that, i indeed did!
That said, if you have to explain your joke, you've failed :) It was too long!
I actually did not even need to read the last sentence to get that he was being sarcastic
good for you!
Honest question: why? Why would you roll your own buttons, headers, footers, modals, panels, grid system, and alerts, which all respond responsively, when you could just take a framework off the shelf and start being productive immediately?
It depends on what you're doing. Kitchen-sink frameworks like Bootstrap are great for building tools that don't require a lot of customization of the UI, generally things like internal tools.
But for user-facing stuff, designers and PMs want to tweak everything about the interface, and by the time you're done, you've rewritten most of the CSS and you actually spent more effort doing so than had you just written the CSS yourself the first time.
Also, the way you wrote it ends up being a frankenstein-esque collection of style overrides. Zurb foundation is notorious for requiring hyper-specific CSS rules to override their default styles.
Bootstrap has made some progress towards making it more tweakable, but if you're maintaining/customizing an app long-term, you're better off writing your own css for the most part.
Edit: to add to that, the biggest problem that bootstrap solves IMO is a standard grid system, of which there are now many, more composable grid systems to choose from. Grid systems are so basic that its probably fine to pull one from the shelf, but with flexbox its really not that hard to write your own anyway.
Just wanted to point out that when Bootstrap first hit the scene this wasn't true:
> to add to that, the biggest problem that bootstrap solves IMO is a standard grid system, of which there are now many, more composable grid systems to choose from. Grid systems are so basic that its probably fine to pull one from the shelf, but with flexbox its really not that hard to write your own anyway.
Bootstrap was sort of a pioneer in the generalized responsive framework space. I recall Zurb Foundation close behind and Skeleton a short time after that...although my time line might be a bit screwed up.
Now with flex box it is certainly easier to roll your own...and that reduces the value (somewhat) of using a framework like Bootstrap or Foundation or (insert other responsive framework here), but it doesn't make it 0 (IMO).
Not really since most browser have their opinion on how to actually flex the box in corner cases (like: an image that has height 100% and not a defined width will cause all kind of fun in a row flexy)
I just had to fix that in a project today. Looked great in Firefox, but Chrome made the images huge and every time the page changed they just got bigger. Seemed completely broken to me.
I think the origin point would have been better expressed with that nuance: if you have the budget, staff (design, dev, QA), and need to customize everything, rolling your own is probably best.
Frameworks are for the 99% of projects where not all of those are true. I’ve had good results limiting gratuitous changes that way: “do we want to pay to change this and test all of our supported browsers/accessibility/RTL?” is a lot better than “No”.
BS4 includes Flexbox and it has been designed to be much easier to customize with SASS. They have also added a bunch of utilities for spacing, colors, etc which makes customization at the CSS level easier as well. For a practical example, I only had to write a few lines of SASS to give some components (e.g. modal) a material design look. I think your criticism is valid for BS3 but not BS4 unless you are building a website that is drastically different than 95% of websites.
I haven't used BS4 so you might be right - glad to see improvement in that area!
I use bootstrap as default reset without the grid. All the modern standard widget premade and none of the grid spacing coercion is a good compromise to my need.
For the projects Bootstrap was designed for, the choice isn't between Bootstrap and a professionally designed custom theme; the choice is between Bootstrap and a white background with all text in Times New Roman 16 pt.
What changed are browsers. The original advantage of bootstrap et al where grids and standardisation. These initial use cases have been subsumed by browsers, and bootstrap offers little more than a useless level of redirection.
Then, bootstrap added what I want to call widgets: small functional units that can easily be reused. Here, as well, browsers have changed dramatically. At the time bootstrap came out, these widgets required browser-specific, inscrutable hacks like negative margins, spacer pixels, and other crimes against htmlanity. Relative to 10 years ago, all of today's browser engines are identical, and CSS has added all these typical use cases.
What remains is more or less a skin changing html's defaults to something that may be prettier, or just not weighed down by the stigma of being the default.
I wonder why people don't get this. It's not like you're doing a Fortune 500 company's website with Bootstrap.
I bet we can find 50 uses of bootstrap in the f500.
At least. I’ve seen lots and lots of internal tools, product admin dashboards, and the occasional single-page product marketing sites, like the one the overworked intern, Todd, threw together in the 24 hours between the time the virtually-without-requirements demand was dropped on his tiny, cramped, mid-bullpen loaner desk and when he launched it into production to zero thanks.
http://www.berkshirehathaway.com/
That format seems to work for the #2 company on the Fortune 500. Not that their website is beautiful, but sometimes it simply doesn't even matter.
It doesn’t matter in this case because Berkshire Hathaway’s website doesn’t matter.
It depends if it's a project that is going to grow. For so many things Bootstrap does so much for so little effort. I use it any time I need to spin something up quickly, prototype an idea, put an internal page together. Bootstrap is a tool for making a page where you don't care how it looks look good.
It also depends on how the project is going to grow. If I'm the only lead dev on a team that's only going to see a revolving door of junior devs and interns, it's much easier for me to point to Bootstrap's documentation page and say "just copy the example from here" than it would be to get junior devs quickly up to speed on any custom CSS framework. There's even a chance a junior dev is already going to be familiar with Bootstrap from a previous project.
Except for all the edge cases which is a big reason why CSS frameworks are a thing. If you need to support lots of browsers it is certainly not easy to build your own.
You are correct in that css frameworks become a burden but I disagree that building your own is “very easy”. A css framework that works well on most devices and most browsers for a non trivial app is quite a lot of work.
But I'm not a web developer and I don't want to build my own anything if there's a professional plug-n-play solution already available.
Bootstrap just works, so I stay with it. I don't even want to learn the new one because BS3 already solves my problems.
I'm not a graphics designer, and have no eye.
If I'm making a content-website (where the "killer app" is the content and not presentation) I use bootstrap - its definitely cheaper than a web designer.
You aren't wrong. I will say I do still find myself surprised that many sites don't test cross browser and I find that these frameworks can alleviate that.
Most users simply don't care whether a framework or hand customized code is used anywhere in the stack. This includes the front end all the way down to the assembler shoveling bits through a processor.
Why should somebody who is technically proficient or even highly skilled in developing on the backend bother with becoming equally skilled enough on the frontend to not "need" these frameworks? Especially when it matters very little.
It is difficult. Look how much effort was put into Bootstrap3. Good UI framework brings consistency and good practices.
Browsers are not so consistent as people think. CSS is difficult to get right. UI/UX is hard if you are not a designer. Interactions between DOM, CSS, and JS are hard to test.
That’s exactly what i did lately. I replaced Bootstrap 3 with my own custom CSS after testing out Bootstrap 4.
With flexbox, media queries and SCSS i dont find any need for a CSS framework anymore. My codebase without Bootstrap (and JQuery) feels so light, flexible and maintainable nowadays.
It's certainly become easier but I rather like having people contribute fixes to issues we may not be aware of. For a small team like our startup, execution of the idea is far more important than having something completely unique.
I agree with you, with css grids and flexbox I really don't use bootstrap much for new projects. The grid doesn't seem to make sense to me anymore.
BUT, bootstrap is still awesome for the design elements.
I think this advice applies most to layout - at work we still heavily use Bootstrap components, but the grid layout we started out with turned into hellspawn really quickly.
Honestly for backend projects where nobody cares about design bootstrap is great.
Layout and such is easy. UI components, forms, etc, take a lot longer.
Don't forget about Microsoft's Adaptive Cards.
I support you, what you say is true.
Is modular css changing bootstrap adoption? I'm a backend guy so I don't have much experience to develop a sense of large-scale front-end trends. I've used bootstrap since early v3 in various places and usually found it time-saving, easy to build responsively, and fairly easy to customize.
However, just as frameworks like angular and libraries like react are "componentizing" the front end and replacing general purpose utilities like jQuery, will we see a similar trend with modular css where component styles will replace the need for large css frameworks like bootstrap? Or is modular css merely a complement to whatever sitewide css framework you've chosen?
Taking advantage of what bootstrap has to offer requires writing your page structure with it in mind. It's both a method of structuring HTML and a CSS framework. I suppose you could pull out and compartmentalize certain specific features, but in my mind the core of bootstrap is the grid and component system, and those are pretty heavily tied together.
It's an interesting time for web development in general. As the industry moves towards standardized web components, CSS frameworks--like Bootstrap, Foundation, Bulma, etc.--will fit differently into the puzzle. The demand for CSS frameworks will persist, but more of the implementation details will be abstracted away within components.
Happy to see Bootstrap 4 moving to a final release. Beta 1 is already very mature though. I love it.
Bootstrap 4 is great and a pleasure to work with. Documentation structure on the other hand... Main nav section on the left with subsections on the right is totally counter-intuitive.
Plus occasionally (at least in the earlier days of beta 1) you'd Google something and end up in the Alpha 3 docs without necessarily realising.
I’m glad someone else said it. The nav hierarchy here is bizarro.
I honestly believed this to be released already. Completely surprised by this :).
Congrats on shipping the 2nd Beta!
My favorite part of Bootstrap 4 is actually its newly included CSS reset Reboot [0]. It's built on Normalize, but also provides a set of very compelling improvements like making use of the native font stack, a bunch of very sensible spacing and layout adjustments, and built-in optimizations for touch responsiveness (removing the 300ms delay). I'm definitely going to be trying it out on my next project regardless of whether or not it uses Bootstrap itself.
With that said, I don't mean to rain on the parade, but I've been gradually deviating away from using CSS frameworks for my projects, not because I don't _want_ to use them, but rather because most CSS frameworks don't seem to mix naturally with component-oriented CSS-in-JS libraries like glamorous [1], which is my preferred way to work with styling these days.
If I do include a CSS framework, I end up having to use a mix of custom component-scoped styles and global CSS classes from these frameworks, and those CSS classes may have margins and cascading effects that reach into children. This breaks component-level style isolation, and makes the styling of children much harder to reason about, which defeats much of the purpose of using component-oriented CSS to begin with.
What I really want to do is to import styles from a well designed CSS framework _as a JS module_ (but I'm willing to accept anything that's properly namespaced and isolated, like CSS Modules), and compose them with my own styles without worrying about a polluted global namespace or styles from parents reaching into children/vice versa or fighting with specificity issues.
So far, I haven't found any CSS frameworks that fit the bill, but Tachyons [2] seems like it could be close enough (by emphasizing modular, low specificity, shallowly cascading styles) that I could maybe just run it through a CSS to JS compiler like native-css [3] and import its classes and compose them as I would with any other JS style object. This is something I'm going to experiment with soon enough, but I'd love to hear if others have any thoughts/experiences they'd like to share on using CSS frameworks with component-oriented CSS.
What they didn't default to Grids and provide a fallback? the grid system examples in their docs are scary.
What is scary about it?
The div hell.
This is div hell to you? O_o<div class="row"> <div class="col">left sidebar</div> <div class="col">content area</div> <div class="col">right sidebar</div> </div>
http://tachyons.io/ + Bootstrap make a great combo. Especially if using a build system like webpack.
Bootstrap has a nice grid system (although the actual CSS standard is amazing now) and handles basic elements like buttons well. For everything else, Tachyon's component helpers make layouts really easy and fast.
Nobody cares anymore, everybody moved on to bulma and other things, bootstrap is yesterday's song
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.
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.
Gonna need a source on that. Bootstrap is the most widely used CSS framework by a country mile.
Bootstrap has more stars (117k) on GitHub than the next 6 CSS frameworks combined: https://github.com/search?o=desc&q=css+framework&s=stars&typ...
FWIW Bulma is third with 20.4k. And I’m legit going to check it out now that, you know, I’ve heard of it ;)
Of course, GitHub stars aren’t everything, and momentum is important, but to say no one cares is objectively wrong. This is a big deal for a large swath of the industry.