The State of jQuery 2013
blog.jquery.com
blog.jquery.com
Interesting.
Indeed!
Having the plugin site down the past year had been a breath of fresh air. I've discovered a dozen or so truly great plugins purely by world of mouth. I can't tell you how much better this filter is than the searching and rating and commenting stuff on the old plugin site.
I have given up on writing jQuery plugins. Something about calling "methods" on the plugin by using a string isn't resonating with me. But since you've asked, I recently have open sourced 2 backbone projects on Github. One has reached 1.0 tho I just discovered a few bugs, another one is coming along with a first release soon.
[0]: https://github.com/jquery/plugins.jquery.com#how-it-works
Reading web mags like DailyJS and Smashing magazines are probably a vastly superior way to know about high quality jQuery plugins. These mags are like the academics journals, if your plugin gets published, there's a shallower limit to how terrible it can be.
I think it's more important for jQuery to provide a more flexible module/plugin system that jQuery itself is built on. Many people are actually asking for easier ways to have their own customized jQuery builds. There are ways you can do it now, but they are pretty involved. This is one area I'd definitely like to see jQuery improve on.
Any time developers want to be involved in a collaborative project, they generally have to conform to an agreed set of best practices. For jQuery plugins available through the plugins site, this now means using their GitHub-based system. If a developer's code is so tied to a particular set of tools that they can't make adapt to a new system, that's something they need to deal with, not the jQuery Foundation.
They wiped out all the plugins (with no recent backups) in the process of removing spam.
jQuery minified is ~90K. Even if 2.0 weights half as much, 45K isn't that big a deal, even on mobile. Besides, it's so widely used that if you link to Google's CDN, it's probably cached already.
Second, just some hours ago, I read that the mere execution (not the download!) of jQuery takes about a second on an iPhone 3G. These devices and similarly weak ones are still out there, which is easy to forget if you test only on the latest hardware.
Lastly, keep in mind that bandwidth isn't always ideal. Consider mobile: In rural areas, 3G isn't always available. When I'm on the train, loading the slim HN itself often is not an issue, while many other pages simply time out. In developing countries, bandwidths are often very low, too. 56kbps still is a realistic bandwidth. And downloading 45K on a 56kbps connection takes almost 7s.
I'm all for efficiency, I'll use Zepto or a focused custom made solutions whenever I can, I'll squeeze every byte out of the images, serve resolution specific versions, gzip, etc.
But there are some compromises that I'm not willing to make. Take images for example. If I can see image quality degradation on something that I find important, I won't compress it further, even if it's huge. Add a few iPad retina display PNGs and suddenly 45KB seems like small change. Sometimes I'd rather have the user wait for a great result than deliver a poor one fast.
In the case of jQuery 2.0, dropping IE8 support seems a poor and premature kind of optimization. If your target is a memory starved 128MB iPhone 3G on Edge, than 45K for a single JS library is still way too much. Not only it would take forever to load and run, but unresponsiveness and eventual crashing would still be a problem.
I think the effort would be better spent on improving jQuery mobile. People on 56kbps connections could be running even older versions of IE.
http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-an... "Our goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0. ... If your web site needs oldIE support, and we expect most sites will need it for at least another year or two, you can use IE conditional comments to include version 1.9 only when visitors are using oldIE:"
The benefit is that if you're targeting mobile only, you can use the optimized 2.0. For other use case there's still going to be 1.9.