JQuery now runs on every second website
w3techs.com
w3techs.com
But I wouldn't worry too much. It's open source, and using the hosted version means that only that one copy has to be fixed. It is unlikely to ever be a problem on the scope of, e.g., out-of-date Wordpress installs.
Hopefully as jQuery usage grows people come to understand the need for fallbacks.
<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>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
if(!jQuery)document.write('<script src="jquery.js"></scrip'+'t>');It's better to switch to something else and not have to worry about it.
I am no expert. It may be that MD5 is still relatively secure for this specific task. However, SHA2 is more secure. Use that instead.
Your browser caches the libraries on first load anyway.
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.
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
<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.
http://api.jquery.com/category/selectors/jquery-selector-ext...
Perhaps if it was implemented as a resource="jquery-1.8.0" attribute on the script tag, allowing browsers with a copy to load that instead of hitting the server.
sad
There's a time and place for everything, and as a whole, I feel many are over-relying on jQuery.
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.