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

> but luckily it's not needed for most modern web projects, unless you need to support old IE browsers.

I disagree. While I am building our actual app in Angular, our landing page and that still uses jQuery for things such as ajax requests. There's no need to pull in any major framework like Angular for such tasks.

jQuery still has a lot of relevancy in the web.




I would say the landing page is exactly the case where jQuery is not needed anymore. Yes, it's convenient to use, yet for a mostly static page with a few XHR calls, some DOM interactions and whatnot - it's a bloat, actually. 12-16 months ago it would be a sabotage in most cases, but once it's all OK to forget about IE8 - you really can put the good ol' DOM-AJAX-animation JS libraries to rest.

From personal experience: just few days ago I've made a landing page. Focus was on mobile and performance so no jQuery, modernizr, lo-dash, and so on. We only grabbed some syntatic sugar from microjs.com so we could write $(el).remove() instead of el.parentNode.removeChild(el);, etc.

Turned out a nice, little page with all the usual bells and whistles only really needs a 12KB of JavaScript code (uncompressed). We actually missed lo-dash more than jQuery.

In age of "modern browsers'" ubiquity, and Angular/React/Ember/MV* libraries doing the heavier stuff, the support for older IEs is really the last selling point of jQuery. And that goes away soon.

P.S. Very handy: http://youmightnotneedjquery.com/


> it's a bloat, actually.

I mean, it's like less than 30kB minified+gzipped, and if you load it from a CDN, then there's a 95% your users already have it cached.

I guess it's technically a "bloat" but unless all your images are gzipped SVGs, it's almost certainly one of the smaller elements in your page.


Unless you're using the unversioned ("latest") jQuery version on your CDN, the browser cache hit rate will be way less than 95%. I've seen some estimates at less than 20% (can't find the link at the moment).

And for various reasons, it's not a terribly good reason to use the "latest" jQuery version with no version, unless you're prepared to deal with sudden code breakage.


> then there's a 95% your users already have it cached.

In reality, there's a less than 5% chance that your users will have the right version cached, but a 95% chance that your users will notice when the public CDN is over capacity.


React isn't really a framework like Angular or Ember. Remember that it's view only - it doesn't handle ajax calls, routing, error handling, async code, etc.


I'd argue you are pulling in a large library that has much more functionality and bloat than you actually need. For ajax, I'd prefer something like axios which uses es6 niceties like Promises and is much more targeted in its usage.

jQuery was originally a bridge for the gaps between browsers for lots of basic functionality. These days, all modern browsers give you a decent starting point with plain js, meaning there's not a whole lot of things that you really need jQuery for. Secondly, you mention that you are using angular, which already provides its own $http and $resource libraries for ajax... which I think shows even further that you don't actually need jQuery.


He's using jQuery on a separate landing page which is not part of his Angular app.

I do wish jQuery would update to support ES2015 module exports so I could do something like import { ajax } from 'jquery';


You load all of jQuery for just Ajax? I'd just use `fetch` or one of the many small Ajax utilities plus `querySelectorAll`—though I'll admit I don't know their browser support status.


No I use it for more than that, the landing page is built on Bootstrap, so I have modals and other fun stuff that Bootstrap + jQuery bring to the table.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: