3 ms·
First off, thanks to the jQuery team for all the work you've put into this library. It makes a lot of lives easier. But please stop adding features to it. Th
by jasonkester 16y ago
First off, thanks to the jQuery team for all the work you've put into this library. It makes a lot of lives easier.
But please stop adding features to it.
The download is already pretty fat, and already has plenty of extraneous UI fluff and DHTML stunts that detract from its core. If you really want to add a pretty "fadeToggle" effect, please make it available as an extension or stick it in jQueryUI, or otherwise don't force every single user on the entire internet to download it just so that we can do useful things like $('.disabled').each().
I know that you've got a team of smart people, and it's tempting to just keep going adding new cool stuff. But that's only going to make things worse. You need to accept the fact that your product is feature complete. Go into maintenance mode, make sure everything stays solid, and add make occasional small improvements to the core when it makes sense to do so.
It'll be painful to make that shift, but unless you do, your library will become fatter, less focused, and in the end, less useful to developers.
- ElbertF 16y agoAn extra 30 bytes for a useful feature isn't much of a big deal if you ask me. Especially if it saves me adding a bunch of code to do the same thing.
- wanderr 16y agoBytes add up over time. I don't know anything about this feature in particular, there may in fact be a great reason for including it in the core but I do agree that in principle, anything not core should be in a different module. Nice to haves are just that, no point making people download them if they are unlikely to be used. That said, jQuery is still awesome.
- rimantas 16y agoThe reason: In an attempt to further unify the methodology across our API, we’ve introduced a new method to Effects called .fadeToggle(). We already have existing toggle methods in our API for sliding (.slideToggle()) and toggling classes (.toggleClass()) and it made sense for us to extend the availability of a built in toggle to fading effects as well.
- simonw 16y agoThe thing that impresses me most about jQuery is how conservative they are about adding new features. If you look at the jQuery API it's hardly grown at all in all in the past 4 or 5 versions of the library. Instead, they spend their time refining the existing methods - making .width() and .height() measure hidden elements, for example.
- JoelSutherland 16y agoThis sounds good, but just isn't true. It's fairly lean, especially on effects: http://api.jquery.com/category/effects/ http://api.jquery.com/category/effects/ When you look at that list, fadeToggle makes a lot more sense. The only helper methods are for slide and fade, the most common animation types.
- RedWolves 16y agojasonkester: in jQuery 1.4.3 a lot of work was done to make jQuery more modular. So you could take the peices of the library that you want and leave out the rest (i.e. effects). This isn't the recommendation of the jQuery Team but if you feel the library is getting too bloated you now have the option to cherry pick only the options of jQuery you'd like to use. Read the blog post here http://blog.jquery.com/2010/10/16/jquery-143-released/ http://blog.jquery.com/2010/10/16/jquery-143-released/ Also we discussed it on the jQuery 1.4.3 episode of the jQuery Podcast http://podcast.jquery.com/2010/10/29/episode-38-jquery-1-4-3/ http://podcast.jquery.com/2010/10/29/episode-38-jquery-1-4-3...
- keltex 16y agoIt's true, but many people pull all of jquery off google's CDN.
- dmethvin 16y agoExactly, which makes the size of the file much less critical. It's likely to already be cached on the drive by some previous page, even from another domain. Slicing jQuery core into subset files that are dynamically loaded and other such techniques are unlikely to make things better.
- joechung 16y agoUnless you're on a device, like an iPad or iPhone 3.2, that won't cache jQuery because of its size.