jQuery vs. My Library

Discussion in 'Javascript' started by David Mark, Jan 22, 2010.

  1. David Mark

    David Mark Guest

    Having just read a post about jQuery vs. My Library, I think I need to
    dispel some misunderstandings.

    First off, there's no rationalizing or apologizing for jQuery. Twist it
    around any way you like, but there's no justification for such a failure
    (or series of failures to accurate). Second, it doesn't make the
    slightest difference how many rubes got caught up in it over the past
    few years (the operative word is "past"). Third, don't believe
    _anything_ you read on that miserable Ajaxian site. One of their
    editors is an "evangelist" for jQuery. :(

    The main point of the post seemed to be that jQuery was "concise"
    because it was somehow designed to be that way (rather than full of
    random goofs). Of course, its tangled up, interdependent mess of an API
    is not any more concise than the optional layer offered with My Library.

    Some random samples from a test page:-

    E().loadHtml('<div><strong>This is a
    test</strong></div>').appendTo(document.body);

    Q('div:first-child').show().setOpacity(0.5);

    myEl = E('#myid');
    myEl.onHelp(function() { alert('test1') }).onContextClick(function() {
    alert('test2') });
    html = myEl.htmlOuter();

    Personally, I don't care for such "chained" gobbledygook, but there it
    is. No more or less concise than jQuery (or the like), detachable,
    readable (under the hood too) and easily extensible. The various
    globals (e.g. E, Q, D, W) are actually constructors, which allows for
    leveraging all of the wonderful OO features included in all ES
    implementations (see F and I for examples). jQuery has a $ function
    that returns a new jQuery object. :(

    So more "concise" code and a more "elegant" API is complete bullshit.
    (and that's usually the main argument).

    Then there is the question of why jQuery fucks up so much on basic
    operations. For instance, if you want to measure the height of an
    element, it is likely because you want to adjust that height and put it
    back. Do I even need to say any more about that at this point? The
    "designers" of jQuery didn't make some conscious decision to **** that
    up. They just fucked it up (and gained nothing in the process). End of
    story on the "it's flawed but there's a reason and it really helps"
    theory. JFTR, when it comes to sizing and positioning elements, there's
    nothing close to My Library, which doesn't care what box model you use
    at all (you can even mix them in one document). So night and day there.

    Then there is the fact that the sorts of mistakes made by the jQuery
    authors (that sit uncorrected for years) indicate gross incompetence.
    How do you **** up reading/writing/removing attributes? Isn't that the
    most basic low-level operation and shouldn't there be all sorts of tests
    to prevent regressions? Well, it is and they don't have tests because
    they don't understand what they are testing.

    All the more laughable given Resig's infamous "you don't understand
    test-driven development" retort to a review from two years back. He
    doesn't understand... anything at all it seems. Years later, his
    attribute-handling is still all fucked up and after wasting days arguing
    about it, they decided not to fix it at all (nobody really understood
    what was wrong). They didn't fix the height/width stuff either. If you
    can't read and write documents (not to mention measure elements), you
    can't create widgets on top of them (at least not good widgets) and you
    sure as hell can't _query_ them with any degree of consistency.
    Obviously, as I invented the feature test for broken attributes, My
    Library has a much better handle on attributes. ;)

    So, jQuery is just a boondoggle. It's not that they designed it to deal
    with "certain cases" instead of "all cases". They just fucked up
    randomly and are consistently surprised by what it does (not a good sign).

    On the other hand, after spending a week testing, I am pleased to
    announce that Cinsoft supports My Library in the following browsers:

    All of them.

    But seriously, we've tested successfully in:-

    IE 5-8
    FF 1-3.5
    Safari 2-4
    Opera 5-10
    Netscape 3-9

    All modes and virtually all platforms with few issues to report (and
    most of those fixed immediately).

    And yes, there's a growing community of people who are tired of using
    lousy browser scripts and putting up with authors who can't fix
    anything. They are helping to test in ancient browsers because it helps
    to illuminate problems that could show up in other lesser browsers (e.g.
    mobile devices). It's not so that people can use NN4.7 (though they
    certainly can if they want).

    As for size, AIUI, the "new" jQuery is 70K minified. Well, the full
    build of My Libary, which is equivelent to jQuery plus dozens of
    plug-ins is (and always has been) 139K minified. Yes, it is the same
    size with "support" for all of those ancient browsers (quotes indicate
    there's nothing in there specific to any of them) as before those were
    even attempted. So much for the "trying to do everything" bloating theory.

    And take a guess which is faster. Rather, don't guess but try the the
    Speed Test. The "do everything" cross-browser script that doesn't need
    dozens of dubious plug-ins is much faster than the "optimized" (more
    like lobotomized) script. And not just at queries either; it's much
    faster at everything, which is crucial for support handheld devices, old
    PC's, etc. Of course, everything out there is faster than jQuery. This
    latest release claims something about a 3X increase in something. It's
    likely still behind everyone else, but I see brain-washed rubes cheering
    about the "breakthrough" anyway. And speaking of the rest (e.g. YUI,
    Dojo, Prototype), they are relatively slow as well. They all made the
    same mistake (too much over-engineered and inappropriate bullshit
    bogging them down).

    Must come as quite a shock to those who spent years compiling browser
    sniffs, explaining all the while that to be truly cross-browser would
    result in really slow, bloated code. ;)

    And, of course, the whole thing is modular to a fault, whereas jQuery is
    just an inorganic lump that must always be replaced wholesale.

    Questions?
    David Mark, Jan 22, 2010
    #1
    1. Advertising

  2. David Mark

    Helbrax Guest

    On Jan 22, 12:34 pm, David Mark <> wrote:
    > Having just read a post about jQuery vs. My Library, I think I need to
    > dispel some misunderstandings.
    >
    > First off, there's no rationalizing or apologizing for jQuery.  Twist it
    > around any way you like, but there's no justification for such a failure
    >  (or series of failures to accurate).  Second, it doesn't make the
    > slightest difference how many rubes got caught up in it over the past
    > few years (the operative word is "past").  Third, don't believe
    > _anything_ you read on that miserable Ajaxian site.  One of their
    > editors is an "evangelist" for jQuery.  :(
    >
    > The main point of the post seemed to be that jQuery was "concise"
    > because it was somehow designed to be that way (rather than full of
    > random goofs).  Of course, its tangled up, interdependent mess of an API
    > is not any more concise than the optional layer offered with My Library.
    >
    > Some random samples from a test page:-
    >
    > E().loadHtml('<div><strong>This is a
    > test</strong></div>').appendTo(document.body);
    >
    > Q('div:first-child').show().setOpacity(0.5);
    >
    > myEl = E('#myid');
    > myEl.onHelp(function() { alert('test1') }).onContextClick(function() {
    > alert('test2') });
    > html = myEl.htmlOuter();
    >
    > Personally, I don't care for such "chained" gobbledygook, but there it
    > is.  No more or less concise than jQuery (or the like), detachable,
    > readable (under the hood too) and easily extensible.  The various
    > globals (e.g. E, Q, D, W) are actually constructors, which allows for
    > leveraging all of the wonderful OO features included in all ES
    > implementations (see F and I for examples).  jQuery has a $ function
    > that returns a new jQuery object.  :(
    >
    > So more "concise" code and a more "elegant" API is complete bullshit.
    > (and that's usually the main argument).
    >
    > Then there is the question of why jQuery fucks up so much on basic
    > operations.  For instance, if you want to measure the height of an
    > element, it is likely because you want to adjust that height and put it
    > back.  Do I even need to say any more about that at this point?  The
    > "designers" of jQuery didn't make some conscious decision to **** that
    > up.  They just fucked it up (and gained nothing in the process).  Endof
    > story on the "it's flawed but there's a reason and it really helps"
    > theory.  JFTR, when it comes to sizing and positioning elements, there's
    > nothing close to My Library, which doesn't care what box model you use
    > at all (you can even mix them in one document).  So night and day there..
    >
    > Then there is the fact that the sorts of mistakes made by the jQuery
    > authors (that sit uncorrected for years) indicate gross incompetence.
    > How do you **** up reading/writing/removing attributes?  Isn't that the
    > most basic low-level operation and shouldn't there be all sorts of tests
    > to prevent regressions?  Well, it is and they don't have tests because
    > they don't understand what they are testing.
    >
    > All the more laughable given Resig's infamous "you don't understand
    > test-driven development" retort to a review from two years back.  He
    > doesn't understand... anything at all it seems.  Years later, his
    > attribute-handling is still all fucked up and after wasting days arguing
    > about it, they decided not to fix it at all (nobody really understood
    > what was wrong).  They didn't fix the height/width stuff either.  If you
    > can't read and write documents (not to mention measure elements), you
    > can't create widgets on top of them (at least not good widgets) and you
    > sure as hell can't _query_ them with any degree of consistency.
    > Obviously, as I invented the feature test for broken attributes, My
    > Library has a much better handle on attributes.  ;)
    >
    > So, jQuery is just a boondoggle.  It's not that they designed it to deal
    > with "certain cases" instead of "all cases".  They just fucked up
    > randomly and are consistently surprised by what it does (not a good sign)..
    >
    > On the other hand, after spending a week testing, I am pleased to
    > announce that Cinsoft supports My Library in the following browsers:
    >
    > All of them.
    >
    > But seriously, we've tested successfully in:-
    >
    > IE 5-8
    > FF 1-3.5
    > Safari 2-4
    > Opera 5-10
    > Netscape 3-9
    >
    > All modes and virtually all platforms with few issues to report (and
    > most of those fixed immediately).
    >
    > And yes, there's a growing community of people who are tired of using
    > lousy browser scripts and putting up with authors who can't fix
    > anything.  They are helping to test in ancient browsers because it helps
    > to illuminate problems that could show up in other lesser browsers (e.g.
    > mobile devices).  It's not so that people can use NN4.7 (though they
    > certainly can if they want).
    >
    > As for size, AIUI, the "new" jQuery is 70K minified.  Well, the full
    > build of My Libary, which is equivelent to jQuery plus dozens of
    > plug-ins is (and always has been) 139K minified.  Yes, it is the same
    > size with "support" for all of those ancient browsers (quotes indicate
    > there's nothing in there specific to any of them) as before those were
    > even attempted.  So much for the "trying to do everything" bloating theory.
    >
    > And take a guess which is faster.  Rather, don't guess but try the the
    > Speed Test.  The "do everything" cross-browser script that doesn't need
    > dozens of dubious plug-ins is much faster than the "optimized" (more
    > like lobotomized) script.  And not just at queries either; it's much
    > faster at everything, which is crucial for support handheld devices, old
    > PC's, etc.  Of course, everything out there is faster than jQuery.  This
    > latest release claims something about a 3X increase in something.  It's
    > likely still behind everyone else, but I see brain-washed rubes cheering
    > about the "breakthrough" anyway.  And speaking of the rest (e.g. YUI,
    > Dojo, Prototype), they are relatively slow as well.  They all made the
    > same mistake (too much over-engineered and inappropriate bullshit
    > bogging them down).
    >
    > Must come as quite a shock to those who spent years compiling browser
    > sniffs, explaining all the while that to be truly cross-browser would
    > result in really slow, bloated code.  ;)
    >
    > And, of course, the whole thing is modular to a fault, whereas jQuery is
    > just an inorganic lump that must always be replaced wholesale.
    >
    > Questions?


    I'm not a javascript guru by any means(recent posts will probably
    demonstrate that). However, I am getting a pretty good handle on the
    language. I've tried all of the "big boy" libraries in the past. It
    didn't take me long to abandon all of them.
    I abandoned prototype.js because they were using Object.prototype.
    WTF? I *think* the eventually coded around that, but I'm sure they
    replaced it with something worse. Also, why use the name prototype?
    Why not just name it "if" or "function"(or "!function")? :p
    Dojo was slow, and usually the main page of the website would crash
    the browser. Junk.
    jQuery looked appealing at first, until I tried it out. After I coded
    a few test cases, I looked back and had absolutely no idea what any of
    the code meant. It was also twice the size as if I had done it
    normally. It also didn't work in one of the browsers I tested it in
    (my hand code worked fine).
    After having to include/import the 13 .js file from the YUI framework
    just to get a simple AJAX example working I gave up.

    I would be more than happy to give My Library a try. Even if it's
    only half as good as you say it is, that would be far greater than any
    of the other frameworks perform(despite their claims otherwise).

    What license is it under? I remember seeing a discussion about
    licensing, but I must have missed the final decision.
    Helbrax, Jan 22, 2010
    #2
    1. Advertising

  3. David Mark

    Matt Kruse Guest

    On Jan 22, 11:34 am, David Mark <> wrote:
    > The various
    > globals (e.g. E, Q, D, W) are actually constructors, which allows for
    > leveraging all of the wonderful OO features included in all ES
    > implementations (see F and I for examples).


    With so many globals, I would suggest giving them full names as well
    as the single-letter identifiers. E===Element, etc

    Can I do
    E("#mydiv .classname").hide(); // multiple elements
    with your lib?
    What if there are no elements found?

    > All the more laughable given Resig's infamous "you don't understand
    > test-driven development" retort to a review from two years back.


    I would like to see your lib run against jQuery's test suite. Not all
    would be expected to pass, of course, since they may look for some
    different results.

    If you could write some wrapper so that your lib could "plug into" the
    tests, that would be cool and make people more comfortable with moving
    over.

    > But seriously, we've tested successfully in:-
    > IE 5-8
    > FF 1-3.5
    > Safari 2-4
    > Opera 5-10
    > Netscape 3-9
    > All modes and virtually all platforms with few issues to report (and
    > most of those fixed immediately).


    It would be interesting to see how you support functionality that
    simply isn't possible in older browsers. Do you just not do it? If so,
    then are they really "supported"?

    > And take a guess which is faster.  Rather, don't guess but try the the
    > Speed Test.


    Have you? Will you post the results?

    Matt Kruse
    Matt Kruse, Jan 22, 2010
    #3
  4. David Mark

    David Mark Guest

    Helbrax wrote:
    > On Jan 22, 12:34 pm, David Mark <> wrote:
    >> Having just read a post about jQuery vs. My Library, I think I need to
    >> dispel some misunderstandings.
    >>
    >> First off, there's no rationalizing or apologizing for jQuery. Twist it
    >> around any way you like, but there's no justification for such a failure
    >> (or series of failures to accurate). Second, it doesn't make the
    >> slightest difference how many rubes got caught up in it over the past
    >> few years (the operative word is "past"). Third, don't believe
    >> _anything_ you read on that miserable Ajaxian site. One of their
    >> editors is an "evangelist" for jQuery. :(
    >>
    >> The main point of the post seemed to be that jQuery was "concise"
    >> because it was somehow designed to be that way (rather than full of
    >> random goofs). Of course, its tangled up, interdependent mess of an API
    >> is not any more concise than the optional layer offered with My Library.
    >>
    >> Some random samples from a test page:-
    >>
    >> E().loadHtml('<div><strong>This is a
    >> test</strong></div>').appendTo(document.body);
    >>
    >> Q('div:first-child').show().setOpacity(0.5);
    >>
    >> myEl = E('#myid');
    >> myEl.onHelp(function() { alert('test1') }).onContextClick(function() {
    >> alert('test2') });
    >> html = myEl.htmlOuter();
    >>
    >> Personally, I don't care for such "chained" gobbledygook, but there it
    >> is. No more or less concise than jQuery (or the like), detachable,
    >> readable (under the hood too) and easily extensible. The various
    >> globals (e.g. E, Q, D, W) are actually constructors, which allows for
    >> leveraging all of the wonderful OO features included in all ES
    >> implementations (see F and I for examples). jQuery has a $ function
    >> that returns a new jQuery object. :(
    >>
    >> So more "concise" code and a more "elegant" API is complete bullshit.
    >> (and that's usually the main argument).
    >>
    >> Then there is the question of why jQuery fucks up so much on basic
    >> operations. For instance, if you want to measure the height of an
    >> element, it is likely because you want to adjust that height and put it
    >> back. Do I even need to say any more about that at this point? The
    >> "designers" of jQuery didn't make some conscious decision to **** that
    >> up. They just fucked it up (and gained nothing in the process). End of
    >> story on the "it's flawed but there's a reason and it really helps"
    >> theory. JFTR, when it comes to sizing and positioning elements, there's
    >> nothing close to My Library, which doesn't care what box model you use
    >> at all (you can even mix them in one document). So night and day there.
    >>
    >> Then there is the fact that the sorts of mistakes made by the jQuery
    >> authors (that sit uncorrected for years) indicate gross incompetence.
    >> How do you **** up reading/writing/removing attributes? Isn't that the
    >> most basic low-level operation and shouldn't there be all sorts of tests
    >> to prevent regressions? Well, it is and they don't have tests because
    >> they don't understand what they are testing.
    >>
    >> All the more laughable given Resig's infamous "you don't understand
    >> test-driven development" retort to a review from two years back. He
    >> doesn't understand... anything at all it seems. Years later, his
    >> attribute-handling is still all fucked up and after wasting days arguing
    >> about it, they decided not to fix it at all (nobody really understood
    >> what was wrong). They didn't fix the height/width stuff either. If you
    >> can't read and write documents (not to mention measure elements), you
    >> can't create widgets on top of them (at least not good widgets) and you
    >> sure as hell can't _query_ them with any degree of consistency.
    >> Obviously, as I invented the feature test for broken attributes, My
    >> Library has a much better handle on attributes. ;)
    >>
    >> So, jQuery is just a boondoggle. It's not that they designed it to deal
    >> with "certain cases" instead of "all cases". They just fucked up
    >> randomly and are consistently surprised by what it does (not a good sign).
    >>
    >> On the other hand, after spending a week testing, I am pleased to
    >> announce that Cinsoft supports My Library in the following browsers:
    >>
    >> All of them.
    >>
    >> But seriously, we've tested successfully in:-
    >>
    >> IE 5-8
    >> FF 1-3.5
    >> Safari 2-4
    >> Opera 5-10
    >> Netscape 3-9
    >>
    >> All modes and virtually all platforms with few issues to report (and
    >> most of those fixed immediately).
    >>
    >> And yes, there's a growing community of people who are tired of using
    >> lousy browser scripts and putting up with authors who can't fix
    >> anything. They are helping to test in ancient browsers because it helps
    >> to illuminate problems that could show up in other lesser browsers (e.g.
    >> mobile devices). It's not so that people can use NN4.7 (though they
    >> certainly can if they want).
    >>
    >> As for size, AIUI, the "new" jQuery is 70K minified. Well, the full
    >> build of My Libary, which is equivelent to jQuery plus dozens of
    >> plug-ins is (and always has been) 139K minified. Yes, it is the same
    >> size with "support" for all of those ancient browsers (quotes indicate
    >> there's nothing in there specific to any of them) as before those were
    >> even attempted. So much for the "trying to do everything" bloating theory.
    >>
    >> And take a guess which is faster. Rather, don't guess but try the the
    >> Speed Test. The "do everything" cross-browser script that doesn't need
    >> dozens of dubious plug-ins is much faster than the "optimized" (more
    >> like lobotomized) script. And not just at queries either; it's much
    >> faster at everything, which is crucial for support handheld devices, old
    >> PC's, etc. Of course, everything out there is faster than jQuery. This
    >> latest release claims something about a 3X increase in something. It's
    >> likely still behind everyone else, but I see brain-washed rubes cheering
    >> about the "breakthrough" anyway. And speaking of the rest (e.g. YUI,
    >> Dojo, Prototype), they are relatively slow as well. They all made the
    >> same mistake (too much over-engineered and inappropriate bullshit
    >> bogging them down).
    >>
    >> Must come as quite a shock to those who spent years compiling browser
    >> sniffs, explaining all the while that to be truly cross-browser would
    >> result in really slow, bloated code. ;)
    >>
    >> And, of course, the whole thing is modular to a fault, whereas jQuery is
    >> just an inorganic lump that must always be replaced wholesale.
    >>
    >> Questions?

    >
    > I'm not a javascript guru by any means(recent posts will probably
    > demonstrate that).


    I'll take your word for that. :) I assume you are not a browser
    scripting guru either.

    > However, I am getting a pretty good handle on the
    > language.


    That's good. But understand there is an additional discipline to master
    if you plan to write JS for browsers.

    > I've tried all of the "big boy" libraries in the past. It
    > didn't take me long to abandon all of them.


    You are learning. :)

    > I abandoned prototype.js because they were using Object.prototype.


    Yes, fatal. Took them years to stop doing that. Imagine a million
    howling code monkeys "arguing" endlessly about nothing. That's what
    these projects are like.

    > WTF? I *think* the eventually coded around that, but I'm sure they
    > replaced it with something worse.


    Probably. Last time I looked at their code (a month ago), I recoiled in
    horror. It's the same functions over and over, once for each browser
    they've pawed. It's pure insanity that would have been locked up in
    2001. Using something like that in 2010 is unthinkable.

    > Also, why use the name prototype?


    Because they are stupid. ;)

    > Why not just name it "if" or "function"(or "!function")? :p


    How about "constructor?"

    > Dojo was slow, and usually the main page of the website would crash
    > the browser. Junk.


    You got that straight. And the laughable thing is that they think they
    are fast (their speed tests just don't take loading into account).
    There's a new Dojo though (that I cleaned and sped up considerable).
    They have unearthed it recently (they wouldn't look at it while I was
    around for some reason). The one guy ran off to try to rewrite
    everything I wrote for the loader on Github (God I hate _that_ site),
    but predictably fucked it all up. First thing he did was copy Dojo's
    attr, isFunction, isArray, etc. The others over there are now
    applauding his "great efforts" and oh God save us. No hope IMO. :(

    > jQuery looked appealing at first, until I tried it out.


    :)

    > After I coded
    > a few test cases, I looked back and had absolutely no idea what any of
    > the code meant.


    Yes, readability is some sort of myth associated with that project.
    Debugging is a nightmare with all of that chaining crap too. Why they
    are so obsessed with the number of lines is beyond me (it all gets
    minified in the end). Stupid. :(

    > It was also twice the size as if I had done it
    > normally.


    But... Write less, do more? That's what the box said. :)

    > It also didn't work in one of the browsers I tested it in
    > (my hand code worked fine).


    Well, that's probably one of the browsers "they don't care about"
    (quoting Resig). Why don't you just upgrade?

    > After having to include/import the 13 .js file from the YUI framework
    > just to get a simple AJAX example working I gave up.


    LOL. No shot. They are the worst sort of weasels. All of those
    disingenuous graphs about browser grading and GZIP and it turns out the
    underlying DOM scripts (where the rubber meets the road) are re-treads
    with nails in them. What the hell are they doing over there Crockford?
    Did they set out to **** everything up and leave it that way forever
    or was I seeing things?

    >
    > I would be more than happy to give My Library a try. Even if it's
    > only half as good as you say it is, that would be far greater than any
    > of the other frameworks perform(despite their claims otherwise).


    And I would be more than happy to provide support for it. I estimate it
    is at least half as good as I say it is and getting a little better
    every day. Make no mistake, it is not perfect. It sat for years with
    all sorts of glaring typos and gaps in logic. Apparently nobody was
    paying attention as I found and fixed the bulk of them hours after my
    return. And the higher up you go in the interfaces, the more likely you
    are to encounter incongruities. Overall, it was really more slapped
    together (client and server side) than designed. I'm open to changes
    and the user base is low, so it's flexible.

    Recently I've gotten a few new clients because of the new licensing
    deal, so I spend much of my day working with (and occasionally on) the
    My Library code now. One is a recovering Dojo user. I get a lot of
    inquiries from nervous jQuery shops as well. There's at least one
    person in each that sees through the bullshit and realizes that they can
    change now or die. The Flash module seems to be particularly popular.
    Not surprising as all of the other Flash scripts (especially Adobe's)
    are complete shit. And that definitely includes the awful SWFObject,
    which creates more problems than it solves.

    >
    > What license is it under? I remember seeing a discussion about
    > licensing, but I must have missed the final decision.


    Um, good question. MIT something or other--see the source. Basically,
    as long as you don't try to steal it and pass it off as your own, you'll
    be alright. ;)
    David Mark, Jan 22, 2010
    #4
  5. David Mark

    S.T. Guest

    On 1/22/2010 9:34 AM, David Mark wrote:
    >
    > Questions?


    1. Is it being used *anywhere* right now where code can actually be
    seen? Aside from a single lawyer's website with a somewhat uninspiring
    look and compressed code, never seen it in the wild to view what the
    code usage might look like. Docs look like a very lengthy list of
    methods with curious naming pattern -- tough to visualize.

    2. Target audience would appear to be experienced JS developers who are
    concerned about legacy browsers. Fair representation? Yes, I realize
    it's a thousand-fold better than anything currently out there as you're
    a thousand-fold better than Resig, the YUI team, etc.... but that aside,
    am I on base with the actual target audience?
    S.T., Jan 22, 2010
    #5
  6. David Mark

    David Mark Guest

    Matt Kruse wrote:
    > On Jan 22, 11:34 am, David Mark <> wrote:
    >> The various
    >> globals (e.g. E, Q, D, W) are actually constructors, which allows for
    >> leveraging all of the wonderful OO features included in all ES
    >> implementations (see F and I for examples).

    >
    > With so many globals, I would suggest giving them full names as well
    > as the single-letter identifiers. E===Element, etc


    Yeah, I've never been married to those names. Longer names (or aliases)
    would be a good idea.

    >
    > Can I do
    > E("#mydiv .classname").hide(); // multiple elements
    > with your lib?


    Q("#mydiv .classname").show(false);

    > What if there are no elements found?


    It will dutifully hide no elements.

    >
    >> All the more laughable given Resig's infamous "you don't understand
    >> test-driven development" retort to a review from two years back.

    >
    > I would like to see your lib run against jQuery's test suite. Not all
    > would be expected to pass, of course, since they may look for some
    > different results.


    I'm adding so many unit tests at the moment that I'll have everything
    covered. I'll look at it when I'm done to see if I forgot anything.
    Any suite that jQuery passes can hardly be comprehensive. Also, realize
    that I did not bother to do every CSS selector. I may well fill in the
    blanks in the future. See the Speed Test page to get an idea of what is
    supported (obviously, if it is on there, it is supported).

    >
    > If you could write some wrapper so that your lib could "plug into" the
    > tests, that would be cool and make people more comfortable with moving
    > over.


    Well, it plugs into the SlickSpeed (sp?) because it just looks for a $.
    That's the only reason I included that (optional) identifier.

    >
    >> But seriously, we've tested successfully in:-
    >> IE 5-8
    >> FF 1-3.5
    >> Safari 2-4
    >> Opera 5-10
    >> Netscape 3-9
    >> All modes and virtually all platforms with few issues to report (and
    >> most of those fixed immediately).

    >
    > It would be interesting to see how you support functionality that
    > simply isn't possible in older browsers. Do you just not do it? If so,
    > then are they really "supported"?


    It's very simple. If functionality is impossible, the related features
    do not exist in the API. So you start out each app with something like:-

    var API;

    if (API && API.areFeatures('getEBCS', 'setOpacity')) {
    }

    Or, if using the OO interface, it gets even simpler:-

    var Q;

    if (Q && Q.prototype.fadeIn) {
    // For sure can query and fade!
    }

    If you notice, the test page demonstrates the progressive enhancement
    capabilities quite well (some might say stunningly--I would).

    The current practice is the "bull in a china shop" method (e.g. call
    anything and expect anything to happen).

    So "supported" in terms of the whole library means that features that
    are possible are present and work properly and features that impossible
    are not present. That's it. And no, not all of the above are not
    perfect in that regard. See the discussion group for details.

    >
    >> And take a guess which is faster. Rather, don't guess but try the the
    >> Speed Test.

    >
    > Have you? Will you post the results?
    >


    Huh? The Speed Test on my site. I've ran it in everything from IE8 to
    FF1 (and most in between). My Library kills its contemporaries (the
    further back you go, the larger the margin). If I add QSA support
    (estimated twelve lines), it will trounce all of the latest QSA wrappers
    (e.g. Sizzle) as well. And if you mean the TaskSpeed results, yes I
    will certainly post them. I'll post plenty more too. Stay tuned...
    David Mark, Jan 22, 2010
    #6
  7. David Mark

    David Mark Guest

    Ivan Marsh wrote:
    > David Mark wrote:
    >
    >> Having just read a post about jQuery vs. My Library, I think I need to
    >> dispel some misunderstandings.


    >
    > Having just made up a post about jQuery vs. your crappy, unknown, untested
    > software you will now spam the newsgroups.
    >


    What are you, stupid? Matt Kruse posted it _here_ today (or late last
    night). And no, I'm not posting a link. It's too soon. :)
    David Mark, Jan 22, 2010
    #7
  8. David Mark

    Helbrax Guest

    On Jan 22, 2:25 pm, David Mark <> wrote:
    >That's good. But understand there is an additional discipline to master

    if you plan to write JS for browsers.

    Agreed. That's my biggest problem right now is that there are so many
    inconsistencies among all the browsers, trying to learn all the
    pitfalls is daunting. I feel like I'm coming in very late in the
    game.
    Helbrax, Jan 22, 2010
    #8
  9. David Mark

    Stevo Guest

    David Mark wrote:
    > Having just read a post about jQuery vs. My Library, I think I need to
    > dispel some misunderstandings.
    >
    > Questions?


    Is it really called "My Library" ?
    Stevo, Jan 22, 2010
    #9
  10. David Mark

    David Mark Guest

    S.T. wrote:
    > On 1/22/2010 9:34 AM, David Mark wrote:
    >>
    >> Questions?

    >
    > 1. Is it being used *anywhere* right now where code can actually be
    > seen?


    Oh, hello anon@anon. And of course it is. How could you miss it?!

    > Aside from a single lawyer's website with a somewhat uninspiring
    > look and compressed code, never seen it in the wild to view what the
    > code usage might look like.


    An uninspiring look? Or do you mean uninspiring looks? And it's just a
    mock-up waiting for some real content (e.g. some custom graphics).
    Leave it alone.

    And what the hell does the look have to do with the scripting? And what
    does that 15K script (uncompressed, but minified) have to do with My
    Library. It's like you are watching everything intently but somehow
    mixing everything up. Glad you stopped to ask questions. :)

    > Docs look like a very lengthy list of
    > methods with curious naming pattern -- tough to visualize.


    That's the API. And what is curious about names like createElement,
    createFlash, getEBI, getEBTN, setOpacity, etc.? As mentioned
    repeatedly, there's an OO layer that you can take or leave. Looks a lot
    like jQuery too (just makes more sense).

    >
    > 2. Target audience would appear to be experienced JS developers who are
    > concerned about legacy browsers. Fair representation?


    No. Legacy browsers is a red herring. The point of testing on as many
    lesser browsers as possible is to expose cracks in the feature detection
    and testing logic. That's all. You've got to figure that if the entire
    build can load and run in NN4.7, as well as IE8, chances are good for
    virtually anything else out there (and the future). Really good. ;)

    > Yes, I realize
    > it's a thousand-fold better than anything currently out there as you're
    > a thousand-fold better than Resig, the YUI team, etc....


    You said all of that shit, not me. But if you think Resig has anything
    on me when it comes to cross-browser scripting (or programming in
    general), you are sadly deluded. The YUI "team" is just another million
    monkeys as YUI is open source now. Such teams have faired very poorly
    in the past when it comes to browser scripting (as one would imagine).
    They might fair better at something like Frisbee golf. The list of
    failed projects should sound familiar to anyone developing Websites
    (probably got one or more on their servers right now).

    > but that aside,
    > am I on base with the actual target audience?
    >


    No. Picked off. Audience is anyone who scripts browsers. The most
    advanced developers won't need it anyway. ;)
    David Mark, Jan 22, 2010
    #10
  11. David Mark

    David Mark Guest

    Helbrax wrote:
    > On Jan 22, 2:25 pm, David Mark <> wrote:
    >> That's good. But understand there is an additional discipline to master

    > if you plan to write JS for browsers.
    >
    > Agreed. That's my biggest problem right now is that there are so many
    > inconsistencies among all the browsers, trying to learn all the
    > pitfalls is daunting. I feel like I'm coming in very late in the
    > game.
    >


    Don't panic. The ostensible vanguard is mired down in misconceptions
    and the browsers have converged almost completely at this point. These
    are the basic rules of browser scripting:-

    1. Context
    2. Context
    3. Context

    And add:-

    4. Keep everything as simple as possible

    Of course, despite the granularity of My Library, it is still somewhat
    the antithesis of the above. It's general, general, general and overly
    complex for many contexts. As are the rest of them (to a ludicrous degree).
    David Mark, Jan 22, 2010
    #11
  12. David Mark

    David Mark Guest

    Stevo wrote:
    > David Mark wrote:
    >> Having just read a post about jQuery vs. My Library, I think I need to
    >> dispel some misunderstandings.
    >>
    >> Questions?

    >
    > Is it really called "My Library" ?


    Yes it is.
    David Mark, Jan 22, 2010
    #12
  13. David Mark

    Stevo Guest

    David Mark wrote:
    > Stevo wrote:
    >> David Mark wrote:
    >>> Having just read a post about jQuery vs. My Library, I think I need to
    >>> dispel some misunderstandings.
    >>>
    >>> Questions?

    >> Is it really called "My Library" ?

    >
    > Yes it is.


    That'll lead to some fun discussions :) Like calling your band "That
    Band" and calling your first album "Their First Album". You can imagine
    the fun when people go into the record store :)

    Scenario:

    Guy 1: Did you use jQuery or My Library?
    Guy 2: Oh, *you* have a library?
    Guy 1: No, why do you ask?

    :)

    Good luck with it. It will be amazing to have a library that people on
    here actually approve of. Although, when there's a 10 message back and
    forth just on what the word consise means, it'll be tough.
    Stevo, Jan 22, 2010
    #13
  14. Stevo meinte:
    > David Mark wrote:
    >> Having just read a post about jQuery vs. My Library, I think I need to
    >> dispel some misunderstandings.
    >>
    >> Questions?

    >
    > Is it really called "My Library" ?


    The name's spot on, isn't it?

    Gregor


    --
    http://www.gregorkofler.com
    Gregor Kofler, Jan 22, 2010
    #14
  15. David Mark

    David Mark Guest

    Ivan Marsh wrote:
    > David Mark wrote:
    >
    >> Ivan Marsh wrote:
    >>> David Mark wrote:
    >>>
    >>>> Having just read a post about jQuery vs. My Library, I think I need to
    >>>> dispel some misunderstandings.
    >>> Having just made up a post about jQuery vs. your crappy, unknown,
    >>> untested software you will now spam the newsgroups.

    >> What are you, stupid? Matt Kruse posted it _here_ today (or late last
    >> night). And no, I'm not posting a link. It's too soon. :)

    >
    > Stupid... no.


    No? :)

    > You do realize everything you post here can be Googled and
    > read even months after you post it right?


    WHAT?! OMG. But seriously, that's my point. A quick search could have
    short-circuited your unfortunately inaccurate post.

    >
    > Don't need to elaborate on what I've said when it's all been done for me:


    Do tell!

    >
    > "Someone is critical of a widely used library and at the same time promoting
    > their own library? Call me cynical, but given the inherent conflict of
    > interest I'd look for another opinion or 2 before taking their word as the
    > definitive answer."
    >


    And who said that? Unfortunately (again), I've been saying the same
    thing about the "majors" for years and My Library is now free.

    Better luck next post!
    David Mark, Jan 22, 2010
    #15
  16. Matt Kruse wrote:
    > On Jan 22, 11:34 am, David Mark <> wrote:
    >> The various
    >> globals (e.g. E, Q, D, W) are actually constructors, which allows for
    >> leveraging all of the wonderful OO features included in all ES
    >> implementations (see F and I for examples).

    >
    > With so many globals, I would suggest giving them full names as well
    > as the single-letter identifiers. E===Element, etc
    >

    That would conflict with any code that uses:-

    Element.prototype.myFunc = [...]
    --
    Garrett
    comp.lang.javascript FAQ: http://jibbering.com/faq/
    Garrett Smith, Jan 22, 2010
    #16
  17. David Mark

    David Mark Guest

    Gregor Kofler wrote:
    > Stevo meinte:
    >> David Mark wrote:
    >>> Having just read a post about jQuery vs. My Library, I think I need to
    >>> dispel some misunderstandings.
    >>>
    >>> Questions?

    >>
    >> Is it really called "My Library" ?

    >
    > The name's spot on, isn't it?
    >


    I like it, but I do keep having to explain it for some reason. :)

    For those wondering, the answer is at the bottom of the front page
    (headline: Build _Your_ Library). The whole point is that it can be
    built to suit. there is a ton more flexibility coming on that front,
    including filtering out the XHTML and frames support.

    And I suppose it has a dual meaning in that it is truly My Library with
    a few small assists (a couple of functions date to the CWR project).
    Kangax has been a great help with pointing out silly mistakes and
    oversights in the past. Recently others have stepped up to help with
    testing, so it is becoming a (sort of) group effort.

    I might allow authors to contribute modules as well. I figure I'll use
    as much of Stockton's date/time/math stuff as I can wade through, but
    there must be other (good) stockpiles out there looking for a home.
    Could use a graphics module. Best advice is to start small as I am
    going to be picky about what I put in there. ;)
    David Mark, Jan 22, 2010
    #17
  18. David Mark

    David Mark Guest

    Garrett Smith wrote:
    > Matt Kruse wrote:
    >> On Jan 22, 11:34 am, David Mark <> wrote:
    >>> The various
    >>> globals (e.g. E, Q, D, W) are actually constructors, which allows for
    >>> leveraging all of the wonderful OO features included in all ES
    >>> implementations (see F and I for examples).

    >>
    >> With so many globals, I would suggest giving them full names as well
    >> as the single-letter identifiers. E===Element, etc
    >>

    > That would conflict with any code that uses:-
    >
    > Element.prototype.myFunc = [...]


    Yes. It will likely end up as MyElement, MyForm, MyImage, MyDocument, etc.

    var myEl = MyElement('#test');
    David Mark, Jan 22, 2010
    #18
  19. David Mark

    David Mark Guest

    Stevo wrote:
    > David Mark wrote:
    >> Stevo wrote:
    >>> David Mark wrote:
    >>>> Having just read a post about jQuery vs. My Library, I think I need to
    >>>> dispel some misunderstandings.
    >>>>
    >>>> Questions?
    >>> Is it really called "My Library" ?

    >>
    >> Yes it is.

    >
    > That'll lead to some fun discussions :) Like calling your band "That
    > Band" and calling your first album "Their First Album". You can imagine
    > the fun when people go into the record store :)


    My Library is not available in stores. :)

    >
    > Scenario:
    >
    > Guy 1: Did you use jQuery or My Library?


    That will be a moot question soon enough.

    > Guy 2: Oh, *you* have a library?
    > Guy 1: No, why do you ask?
    >
    > :)


    Yes. Verbally, David Mark's library will suffice (though it perverts
    the meaning of the name). ;)

    >
    > Good luck with it.


    Thanks, but I don't believe in luck.

    > It will be amazing to have a library that people on
    > here actually approve of.


    Well, there are different levels of approval. Lets just say that nobody
    here will rip it to shreds (or complain about browser compatibility).
    And, of course, I'm here to answer or act on any complaints, rather than
    off in some fantasy world basking in ignorance.

    > Although, when there's a 10 message back and
    > forth just on what the word consise means, it'll be tough.


    Yes, that was an unfortunate waste of time. :(
    David Mark, Jan 22, 2010
    #19
  20. David Mark

    Matt Kruse Guest

    On Jan 22, 3:02 pm, David Mark <> wrote:
    > > Guy 1: Did you use jQuery or My Library?

    > That will be a moot question soon enough.


    I agree, though probably in a different way than you.

    I'm curious, do you have any predictions? Goals? Time lines? What
    exactly are you trying to accomplish and how will you know if you've
    achieved it?

    Matt Kruse
    Matt Kruse, Jan 22, 2010
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. darrel

    Anyone using JQuery witth ASP.net?

    darrel, Sep 5, 2007, in forum: ASP .Net
    Replies:
    2
    Views:
    400
    darrel
    Sep 6, 2007
  2. Darrel
    Replies:
    2
    Views:
    549
    George Ter-Saakov
    Nov 12, 2007
  3. shapper

    JQuery and ASP.NET.

    shapper, Nov 21, 2007, in forum: ASP .Net
    Replies:
    0
    Views:
    536
    shapper
    Nov 21, 2007
  4. Aaron Gray
    Replies:
    20
    Views:
    378
    Lasse Reichstein Nielsen
    Jul 27, 2008
  5. lorlarz
    Replies:
    6
    Views:
    207
    David Mark
    Mar 25, 2010
Loading...

Share This Page