Why should I use Google's CDN for jQuery?

Viewed 42364

This may be obvious to some, but I've been wondering: why should I depend on Google's server to host jQuery for my site?

Is it only because it loads faster this way?

7 Answers

This is because:

  1. It increases the parallelism available.
    (Most browsers will only download 3 or 4 files at a time from any given site.)

  2. It increases the chance that there will be a cache-hit.
    (As more sites follow this practice, more users already have the file ready.)

  3. It ensures that the payload will be as small as possible.
    (Google can pre-compress the file in a wide array of formats (like GZIP or DEFLATE). This makes the time-to-download very small, because it is super compressed and it isn't compressed on the fly.)

  4. It reduces the amount of bandwidth used by your server.
    (Google is basically offering free bandwidth.)

  5. It ensures that the user will get a geographically close response.
    (Google has servers all over the world, further decreasing the latency.)

  6. (Optional) They will automatically keep your scripts up to date.
    (If you like to "fly by the seat of your pants," you can always use the latest version of any script that they offer. These could fix security holes, but generally just break your stuff.)

There are several scenarios when you might not want to use jQuery from Google's CDN:

  1. When you are building an intranet application where the web server is hosted on the same network as the clients. If you use Google's CDN jQuery, you will be making a call to the internet rather than a webserver on the local network. This increases bandwidth for your organization, and is slower.

  2. When you want to run your application offline. (Quite linked to the first issue) If you need to work on a development environment (managed for example with Bower), you might need to be able to make your application work without any internet connection (ie: in a train :)

  3. When you need to customize it. For example if you use Grunt to build the library in order to use only certain modules or setting the AMD name

  4. When you are serving pages over SSL that require jQuery. You should serve the JavaScript over SSL as well as your page to avoid security problems and warnings.

Also, Microsoft hosts jQuery on their CDN. That is another choice comparable to using Google's hosted jQuery.

The greatest benefit is from caching. The theory is that if a visitor visited a site that was loading their JavaScript libraries, say jQuery for example from the Google CDN, then when they visit your website, the library is already in that user’s browser cache and will not have to be downloaded again. This sounds great in theory.

The benefits being shared here and elsewhere are all theoretical. Just came across an in-depth analysis of using a CDN and if it provides the expected performance benefits. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits

Some good answers here to "Why you should..." and "Why you should not..."

I simply want to add a list of alternatives to Google if you did want to load jQuery from a CDN.

But to sum it up, you are basically improving your overall website/application performance.

Usign CDN with a Service Worker, you can download the CDN once in the client lifetime, and not every time you update your code.

Related