And if you must run a "corrected" version, then you know something is
broken.
Of course. I have several corrections in a local versions. And my own
hacked-up versions of some plugins.
Why did you not submit a ticket?
I contribute when the effort to do so is minimal and the potential
benefits to me make it worth it. This is not my job. If I point out
something on the dev mailing list, someone else will submit a ticket.
I find the process annoying.
Why did you not answer any
of the misunderstood questions in the forum(s).
I do answer questions there, randomly. Just like I participate here
randomly.
Why would you question my assessments about the problem?
I'm not sure I ever did. At least not the technical side of it. The
implications of the problems, well we certainly disagree there.
To you, broken functionality means the whole thing is junk. To me,
broken functionality gets factored into the pro/con list for using the
tool, and gives you something to avoid or patch. No big deal. For me
it's fairly effortless to fix the things in jQuery that I consider
broken enough to need it. If those things get fixed in the core code,
then I just remove that part of my wrapper.
You are obviously a complete hypocrite.
Nope, I just don't play in the world the way you want me to.
Also, how do you figure that your vague promises about future
overhauls mean anything? If you had been paying attention way back
when, it wouldn't need an overhaul (hint: overhauls are a major pain
in the ass for everyone involved, not to mention a waste of money.)
They may be a pain in the ass, they may not. Depends on what part of
jQuery you use and what they change. Of course, if things work as-is,
there is no need to upgrade at all.
I've always told people not to rely on jQuery plugins (despite having
written one myself), and _certainly_ not on a stack of plugins with
dependencies. Upgrading to the latest version of jQuery didn't affect
me, AFAIK. If it did, I would either patch my code or my jQuery
wrapper.
I do think that developers using jQuery need some guidance. For
example:
1. Avoid plugins
2. Use POJS and normal DOM methods whenever it makes sense rather than
"the jQuery way"
3. Don't depend on attr()
4. Don't use jQuery on public-facing production sites where you aren't
willing to sacrifice a small percentage of users due to
incompatibility
5. Don't do lots of "progressive enhancement" using $(document).ready
() such as attaching hundreds of event listeners
6. Don't make repeated calls to $() for the same selector - instead,
cache the results into a variable
7. If you require high performance, break out of jQuery and manipulate
the DOM the old fashioned way
8. Use event delegation
In fact, some of these are part of a "jQuery Best Practices" document
I've written and will probably publish at some point.
With that being said, though, I use jQuery because of things like
this:
$('#container').css('position','absolute').animate({left:'+50px'});
How fun is that? It does exactly what I want. Sure, I could write my
own animation methods, but why? This works well, is easy to write, and
even has nice easing effects by default.
And stuff like that is why I use jQuery.
Matt Kruse