Hacker News new | past | comments | ask | show | jobs | submit login

One amazing thing to note is that in v3.3.5 (last stable) bootstrap.min.css was at ~123kb. The new 4.0.0 alpha bootstrap.min.css is at ~88kb. WOW. That's just amazing. Congrats to everyone who worked on this project. I'm always so impressed with the work done on it!

Also, I want to add, I don't care where you land on the side of the debate whether to use Bootstrap or not, there is some very smart minds behind the project and there always something to learn from the source code.

Thanks for noticing! :)

I spent a lot of time deleting stuff lol. Still more to optimize around though as we work through the alphas.

Saw on your Twitter that V5 will use PostCSS... Is this still planned? If so, any specific details on how it will be used?

I am wondering why it wasn't ported from Less to PostCSS? SASS is more popular, but that port would be too much of disruption of workflows.

+1 for sincere thanks. bootstrap is one of many factors that had made a lean development approach so much easier.

Thanks for your work! It's amazing that I can still recommend it to people looking to quickly scaffold something beautiful.

Thanks for the work! I would have no clue on UI without bootstrap

Any plan to support BEM?

Mentioned on github before https://github.com/twbs/bootstrap/issues/9366#issuecomment-2...

Personally I hope they never impose such an awkward naming convention.

No plans :).

I think it's a good idea to avoid "BEM" in such a mainstream project, since the naming pattern clearly puts some people off.

However, what about the problems that BEM tries to solve? Using a naming pattern to communicate structure (element E is a "child" of block B) is a good idea (instead of e.g. a descendant or a child selector) because of:

a) Performance: one class (e.g .blockB__elementE) will be faster to "match" by the browser than .blockB > .elementE /.blockB .elementE;

b) Less coupling to DOM structure: to have the desired style, element E doesn't necessarily have to a child of B.

Similar points can be applied to modifiers. A "btn--large" instead of "btn btn-large" seems like a good idea for performance and also to avoid conflicts (the latter class will override the first, but I wouldn't want to care with order).


>>> I don't care where you land on the side of the debate whether to use Bootstrap or not.

I used to be totally against Bootstrap for a myriad of reasons. Then I got hired to build a fairly complex transactional application for a large health care organization under a tight schedule.

Bootstrap allowed me to get a UI up and running super fast with all the components I needed, out of the box. It literally saved me hundreds of hours of work. I look at it completely different now.

This version looks pretty sweet and I'm already eyeing up version 4 for a few future projects I've got in the hopper.

I never got the hate for Boostrap or other frameworks. They definitely save a lot of time, and you don't necessarily end up looking like every other site if you put in some effort[1].


The dislike for Bootstrap isn't a hate for the framework and its components. It's the fact that most people do not customize it, and so nearly all Bootstrap sites _look_ like Bootstrap. Cartoonish and bulky rounded buttons, overly large menus, etc. The default theme feels equivalent to using Comic Sans MS. It's too Web 2.0 and not very professional looking.

Properly theming (at least in 3.x) took a lot of effort. Just try to make a theme whereby at first glance, you can't tell that Bootstrap was used. It's not that it's not possible to do, it just took a lot of time and effort to nitpick over every detail.

In professional environments (ie: real flesh and blood companies), developers cannot say "we're using Bootstrap's default theme". The business has designers, the designers come up with a design, and unless the developer can customize Bootstrap to accommodate the requirements, in a reasonable amount of time to meet deadlines, Bootstrap is simply not an option outside of using the grid system.

Sweeping generalisation there on people in "real companies" not being able to use Bootstrap's default theme.

That's precisely what we do at my place. We don't do it for customer facing things, but for back office tools why would we spend time customising Bootstrap? There are better things we could be doing with our time.

But even if they did all the look the same, how would that be negative?

How terrible would it be if all your desktop apps had completely different UI components? Indeed, people seem to greatly prefer desktop apps that follow the style and UI conventions of their OS.

So if the Internet were largely made of pages powered by a few popular UI frameworks, I really think it would be a huge boon to users everywhere. UIs would be more familiar and consistent. Seems like a great step forward.

Exactly! if you are building like some custom CRM-ish application ,Bootstrap is really helpful.

Your users(and clients) won't care that the buttons are not flat or that it looks like many other applications ,if anything that's a positive if you build a UI components like Navbars they's used

I actually think all of that stuff is part of the default bootstrap theme. Remove it and try Flat UI instead, I think it looks excellent:


It seems perfect for back end devs who need to do a bit of front end work. Makes things look good enough without a great deal of effort (certainly better than my own CSS would look).

Just out of curiosity, what were your major reasons against using Bootstrap?

"Dropping support for IE8 means we can take advantage of the best parts of CSS without being held back with CSS hacks or fallbacks".

This sure contributed to reducing the size.

We had so few IE8 specific hacks. I don't think it really made a large impact honestly.

Similarly, jQuery 2 shrunk 12% because of cutting out IE≤8 hacks: http://blog.jquery.com/2013/04/18/jquery-2-0-released/

I used to hate the whole shave kb off a file stuff (its 2015! we'll have superdooper speeds in 5 years!) until someone added up the hardware usage overall worldwide and it made a bit more sense. it made more sense when the crash bandicoot guys had that story about fitting the entire source code onto that cd with 4kb* left.

* or thereabouts

> Ultimately Crash fit into the PS1's memory with 4 bytes to spare. Yes, 4 bytes out of 2097152. Good times.


Negative net upgrade is a rare pleasure we all enjoy.

88KB? Pure CSS framework (http://purecss.io) is only 16.8KB!

Ok, so? I'm sure that Pure CSS has as many components and options as Bootstrap

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact