

JQuery now runs on every second website - MarionG
http://w3techs.com/blog/entry/jquery_now_runs_on_every_second_website

======
postfuturist
Ingredients for success: Solve a common set of problems (browser
incompatibilities, ugly API) with a simple, concise interface that maps well
to the domain ($(CSS_selector).action(params)) and release under a liberal
open source license (MIT). Another library that follows this pattern would be
Requests (python).

------
nthitz
Wow, impressive. Let's hope the jQuery sources and CDNs never get compromised!

~~~
digitalclubb
It's interesting and slightly scary the CDN issue. Several months ago when
there was an issue with Google's CDN, an awful lot of websites fell over as
they never had a local backup in place.

Hopefully as jQuery usage grows people come to understand the need for
fallbacks.

~~~
zalew
especially when it's trivial to implement

    
    
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
        <script type="text/javascript">
        if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='/path_to_scripts/js/libs/jquery-1.8.0.min.js' type='text/javascript'%3E%3C/script%3E"));}
        </script>

~~~
jfaucett
Is it really that big of a perf hit to just download the minified and use it
in your source like all other libs? jq isn't that big of beast, plus if you
have a large site its cached for every other page visit :)

~~~
zalew
> if you have a large site its cached for every other page visit

until you modify your own js (not that rare and uncommon) and it's back new
and shiny again. from the cdn, it's just already there sitting in the
browser's cache.

> Is it really that big of a perf hit

maybe not, but if you had the option to wake up with your teeth already
brushed, wouldn't you take it? :D

------
Pherdnut
This is a trend that may actually reverse in the next couple of years.
JQuery's popularity has inspired a lot of new DOM API methods now present in
modern browsers which are starting to make it somewhat redundant. Once IE8 is
out of your support picture the major DOM API normalization issues (events in
particular) are out of the way.

The only reason I can think of to use JQuery beyond that is that it's a
dependency for a lot of libraries you use, you're supporting something other
than Android/iOS on mobile or you really, really like the extras like animate,
their powerful event system, extend and/or their ajax methods.

That said, it's popularized a lot of useful coding methods, showed everybody
how normalization should be done, and demonstrated the power of
closures/factory functions to keep objects very light-weight in spite of
having a ton of functionality associated with them. It's not just for client-
side-illiterate noobs. Studying JQ under the hood can teach a lot about JQ.

The newer JS libraries/frameworks/tools are concerning themselves more with
how to implement highly complex UI in an app-maintainable way.

~~~
willtheperson
You say "next couple of years".

IE6 was released in 2001 and while it's finally on it's way out, you will run
into people who want it supported.

So by next couple of years, do you mean 10 years after IE8 was released which
would be 2018 we'll begin to see support for it dropping?

jQuery serves the exact purpose of allowing you to push your design forward
without burning as much time supporting inconsistency. I believe jQuery defers
to built in browser implementations when they are better or compatible so you
still don't loose anything by using jQuery

------
jpkeisala
Makes me wonder if it would make sense to have it built-in in browsers?

~~~
podperson
It is built in to many browsers.

<node>.querySelector(...) and <node>.querySelectorAll(...)

If all you're using jQuery for is grabbing nodes from the DOM and attaching
event listeners AND you don't care about old versions of IE then...

<http://caniuse.com/queryselector>

In a nut: querySelector[All] requires IE8, addEventListener requires IE9.

~~~
johnbender
Just to be clear, jQuery's selector syntax supports many, many things that
querySelector(All) does not.

[http://api.jquery.com/category/selectors/jquery-selector-
ext...](http://api.jquery.com/category/selectors/jquery-selector-extensions/)

~~~
HoLyVieR
It's not many things, if you look carefully you will realize most of what is
listed can be rewritten with a CSS selector. For example ":button" is the same
has "button, input[type='button']". They are mostly just shorthand and that's
not extra feature.

------
zalew
> 73.4% of them don't use any CDN

sad

~~~
jvdongen
Not really - if a one of the CDN's mentioned develops a security issue my
sites are among the 26.6% that are unaffected.

~~~
simonbrown
You mean 73.4%?

------
rthprog
As much as I love jQuery, I feel it can quickly become a crutch, particularly
for those who have spent a fair bit of time relying on features like
.animate(). Modern browsers often have alternatives that (depending on the
situation) simplify your code and offer significantly better performance.
Similarly, I cringe whenever I see jQuery UI pop up in an interface - while
it's easy to use, it also keeps some from developing UI features of their own.

There's a time and place for everything, and as a whole, I feel many are over-
relying on jQuery.

~~~
ashray
You're right. But the fact that jQuery has a much simpler API than using just
javascript makes it easier for programmers to use it. It's a library and
that's what libraries are for, it takes care of notorious cross browser
compatibility issues (how well is another question..)

jQuery UI similarly helps implement features such as autocomplete, etc. which
while you could take the time to implement again offers a simpler API with
cross browser tested code.

I don't think there's any argument against the fact that jQuery has definitely
made a massive impact on the use of javascript on the web. There are plenty of
programmers who wouldn't touch javascript with a 10 foot pole before jQuery
due to the cross browser issues. I think that's actually been a good thing for
UI for the most part.

Can it be done faster and better ? Yes.

Can it be done cheaper ? Probably no.

------
tcarnell
wow - that must have taken a LOT of organising! And how do they know which
website I'm going to visit next!?!

------
sreyaNotfilc
Its great to see kids my age doing amazing stuff! Thanks to JQuery, I'm able
to do a lot of amazing things. It helped make JavaScript more accessible.

------
adrianwaj
Well, I built a site in early 2009, worked fine with 1.3, 1.4 broke a nice
feature, and 1.8 makes the site unusable. I guess it's 1.7 until eternity.

------
zerop
Whats wrong with sites with no jquery!

------
ojr
jQuery Mobile is really nice as well, give it another 7 years and it will be
on a lot of mobile sites

