Hacker News new | past | comments | ask | show | jobs | submit login
Bootstrap 3.4.0 released (getbootstrap.com)
206 points by pplonski86 3 months ago | hide | past | web | favorite | 64 comments

This is great. I appreciate an open-source project looking at the amount of developers working on locked-in legacy projects where dependency upgrades take years.

This is a rare moment of empathy in an industry that - judging from other comments here - is ALWAYS on the hunt for the next best thing. Bootstrap has brought me joy and made my life as a developer much easier. Thank you to @mdo & team for keeping it that way.

Yeah definitely appreciated. We are still stuck on angular bootstrap 0.13...

A prior maintainer of that lib here - that library is a behemoth.

Unfortunately I ran out of time to be able to continue to maintain it, and now work for one of those big tech companies that requires a lot of approvals to participate in open source anymore unfortunately :( . There are a lot of good fixes pre-2.0 though if you can upgrade to it!

Probably one of the biggest disincentives for continuing to me though were some of the users - some were outright abusive.

Do you mean this package or something else? https://www.npmjs.com/package/angular-bootstrap

We have switched to https://bulma.io/ recently. Combined with Vue.js we can finally get rid of Jquery.

If the developers read this, one thing I really liked about Bootstrap (v3 anyway, they've changed it for v4) is that the documentation is a few long HTML pages[0]. As a user, it makes it really easy to see what components are available and to search the documentation (I can just use Ctrl-F).

[0] https://getbootstrap.com/docs/3.3/components/

You can use Bootstrap without jQuery too. For instance, reactstrap doesn't use jQuery.

What is the main problem of the Jquery dependency that existed in Bootstrap before v4 ?

There is also bootstrap-vue.js.org/ which does not use jQuery.

Your link is wrong because there's no space between the project URL and your adverb.

You can use bootstrap without jquery today with bootstrap native:


It supports most (if not all) of bootstrap’s components, and works well enough that even large-ish projects can do without bootstrap.js (which needs jquery).

I recently started using Semantic UI instead of bootstrap, and I felt productive in ~20 minutes. It was amazing. Never going back!

FYI: Semantic UI has one of the largest file sizes for CSS libraries at 730 KB uncompressed, 95 KB gzipped - add in React and you'll reach 1MB in no time.


use something to remove unused css in your build process. i use purgeCss for that.. https://github.com/FullHuman/purgecss so simple and yet so powerful!

550 KB minified*

Also, it's unclear if the comparison is actually fair- some of these, like Semantic, contain a shit ton of icons.

Users don't care about the unused icons. They care about page load time and what it does to their device.

This is one of reasons why icons were dropped in Bootstrap 4. For people who need icons, they are easy to add via other sources. Also, some people didn’t like the default icons and replaced them.

I'm saying you can scrape out all the unused icons to lessen the size, that's why it's misleading.

i guess removing unused rules on deployment would reduce the file size. But a few kb is not much today - with auto playing hd videos on Facebook et. al.

There's a big difference between a video that streams in while the user watches it, and all the styles and scripts that are needed to render the page itself. If the former is too slow the user just keeps scrolling or the player switches to a lower quality stream. If the latter is too slow the user will just close the tab and move onto something else.

And if your coding for a project that isn't full of HD videos, then what?

With 12,000 kb/s the user will hardly notice the difference. You could add the CSS needed for the first render on the document, and it would save you a round-trip, and with HTTP2 you can send the CSS file together with the document. CSS files can however be cached so the few kb shaved off will only be saved on the first page load. If it's a common file, hosted on a CDN it might already be cached. If you are however worried about bandwidth usage the lowest hanging fruit are the binary files such as video,images, and fonts, then JavaScript trackers and frameworks, then the CSS and further trimming the content by getting rid of unnecessary markup.

Your bandwidth numbers are … extremely optimistic … unless you're only targeting business users at large companies. Worse, that's the wrong number to care about: what impacts user-perceived performance far more is latency and that's where something render-blocking like a huge pile of CSS really matters.

If you care about people on wireless connections, with less than perfect fiber connections, etc. a 500KB CSS file is going to add seconds to the total page load time and users will see it more often because the size will get it evicted from small caches more frequently. HTTP/2 won't help because the entire CSS file needs to be transferred before the page renders.

With HTTP2 you can add files to a request, if the user requests index.htm you can also send style.css in the same response. Versus the user first requesting index.htm, parses it, then request style.css. It's a pretty new feature, and will help a little bit with latency as it can save a round-trip.

Wireless connections have had bad latency, but it's getting better. 15 years ago you could get 200+ ms latency on WiFi. today we are down to around 10-20ms. 15 years ago we only had 100Mbit fiber. If you live in a city today you can get 10Gbe. Meanwhile there are people surfing using satellite up-link, or very poor GSM, so there are strong contrasts. But they probably wont bother loading any CSS (which makes semantic HTML important).

You're assuming roughly a 50MBit/sec connection. What about people on mobile connections or in regions where 1MBit are barely achievable? Drop them over the edge? Ignore them? Might be a valid decision for your project, but for some people, bandwidth still matters.

> With 12,000 kb/s the user will hardly notice the difference.

Regular users enjoy only a fraction of those rates, particularly mobile users.

I really hope FE developers in general don't target such unrealistic rates.

What were the benefits over using Bootstrap? Interested. I use bootstrap a lot, so I feel as if it is easy to be productive, but always exploring alternatives.

I find Semantic's React library to be great and it's well maintained, so if you're using React, I think it has a leg up over Bootstrap there, also just more keen on the aesthetic and design choices.

Excuse me for a stupid question, how does Semantic UI compare to React and Angular? I seek to pick up a framework and start developing browser-based GUI apps and don't know which to choose. I want to just layout GUI widgets and code the logic without using any Photoshop or anything like that.

They're different things. Semantic is the UI framework that you can use from React (in fact, there is a react-semantic-ui npm) or other.

React will deal with lifecycle of objects on the screen and state machines to mutate them, but the actual look & feel of the widgetry is defined by whatever ui framework you decide to use (bootstrap, semantic, blueprint, etc).

Makes sense. Thanks.

Well, At first semantic UI is a UI library which helps in providing pre-built UI components. React and Angular are Frontend frameworks, which helps in performance and code modularity. Photoshop is a photo editor, although people used to make layouts with it long ago,,, not anymore, instead people are using Sketch. You can of course code the logic using plain simple JS, HTML, CSS and you can make widgets as well, unless you mean desktop widgets - for that you need electron.

I see. Thanks. Can you suggest the quickest and most relevant learning path if I define what I seek more precisely? My relevant experience includes building WinForms apps in VisualStudio (where you just drop a widget on a form, click it and code what it does) and writing simple websites with vanilla HTML+CSS+JS. I've also tried some WPF and loved the MVVM model (AFAIK Angular is somewhat close to it but I also love functional programming so perhaps Reason-React or Elm can make a better choice) but didn't stick with it as I want my apps to run everywhere. I'd like to build a desktop-like (but reasonably webish-looking, responsive and mobile-friendly) single-page app that would be hosted on a static hosting, work in a browser and interact with the world by means of web services (some provided by 3rd parties, some coded myself in Python) and browser APIs. The idea of using a graphics editor like Photoshop or whatever to draw my UI scares the hell out of me, I want all the look&feel pre-designed "out of the box" the way it is in desktop widget toolkits like Qt. I've once studied Bootstrap and it seemed like a toolkit that can make the kind of UIs I want but I feel like I should probably pick up a modern SPA framework like React or Angular rather than code vanilla JS if I want to build a reasonably complex application.

From my point of view, the closest to that experience would be Angular + Web Components.

There are also some Forms like experiences for Web, for example:






anvil.works seems awesome but its widgets selection is too humble, it doesn't even have tree view to the date (but they've said they are going to add it later AFAIK). I'll explore the others from the list. Thanks!

Quasar-framework is awesome. It is a Vue library with lots of components.

Love the framework.

The biggest gotcha for Semantic UI is that it requires FlexBox support which is extremely buggy (or non-existent) in IE 10 and 11. Edge is OK (mostly), but there are a lot of users still on IE 10/11.

That's good to know since they carefully avoid mentioning anything about browser compatibility on their site. Bootstrap 4 also uses flexbox but they have done a good job supporting IE 11, which is good: on a general audience site I see ~2.5% of traffic from IE11 worldwide whereas IE10 is ~0.08% so it's much easier to write off.

I was also disappointed to see zero mention of accessibility, which is a deal-breaker for government and large business sites.

I can say the same about Tachyons.

I feel that way with pretty much every CSS library that has at least 1,000 stars on GitHub.

Surprised to see this, but good on them for fixing the XSS issues!

Yeah a lot of people, including me, were waiting that. Not able to rebuild to Bootstrap 4 at this point in time. Google Lighthouse was complaining about that Bootstrap 3 was not secure.

Which of the CSS frameworks works best with ReactJS?

Shameless plug: I just put `rbx` 1.0 together which has 100% coverage and fully implements the Bulma framework for React.

Every component has a story, and it’s written in TypeScript (transpiled to JS). I hope to get around to releasing this big update on npm tonight(!) but for now you can use the code straight from GitHub.

Also, the wrapping is complete yet minimal - there are only a couple components with state and you can override those with a `managed` flag.

Also, every component supports ref forwarding (using of course `ref`), and can render as any other component using the `as` prop. For example, if you want to bring your own Form, Link, or Table framework, this will work with that seemlessly.

  <Button color=‘primary’ as={Link} to=‘/‘>Go home</Button>

Looks promising. Any ideas about handling date/time in a way that's consistent with this and also works across desktop and mobile?

Awesome, love the storybook. Components>Media>Input is broken FYI.

Haha of course. Probably a change I made earlier today. I’m at dinner now, but will update it in a couple hours.

I've been using reactstrap[0], it's everything you'd expect from bootstrap react bindings and has been great while i've been leaning React this year.

No doubt there would be better solutions more tailored to react out there.

[0] http://reactstrap.github.io/

If you're using a frontend view engine like React then I'd recommend looking into component-based CSS frameworks like https://tachyons.io/ or https://tailwindcss.com/ where you have classes for the basics and add them together for the final output. It's a natural fit to view components.

I have tried both with quite complicated applications and I have to say that I prefer tailwind.

With PostCSS in your pipeline, you can add the tailwind plugin and start composing CSS. This way, you can use your configuration even in places where you are required to write CSS (e.g. for transitions or media queries):

    @screen xs {
      .item {
        @apply border-b border-blue-darker;
        transition: background-color 0.2s;

+1 for tachyons. Tachyons + React is very powerful.

More than just CSS, we use Material UI: https://material-ui.com/

Take a look at: https://ant.design/

It's a UI library with all imaginable widgets.

I picked ant.design for a recent project - it's pretty darn sweet.

element (in vue) is also pretty terrific: https://element.eleme.io/

None, go vanilla.

Link to bootstrap-sass for 3.4 404's.

It's working now. Congrats to the Bootstrap team for outstanding free maintenance. Looking forward to v5.

I thought Bootstrap 4 was released months ago? :S

And then you thought that millions of websites, a lot of commercialy crafted for customers, adopted it in no time? So an update, to the most used version which has even security isseus is not nessacary? You live in a nice world :)

Ant Design is the best UI library in 2018. The amount of components you get out of the box has no comparison.


Your first comment is the sort we're ok with in this community, but the one I'm replying to isn't welcome.

I have no knowledge of the area.. Is this sarcasm or truly your opinion?

Applications are open for YC Summer 2019

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