When I made that one : https://github.com/Ayms/node-dom it was supposed
to be a fast and minimal implementation of the DOM, so it works in
almost all real cases and do not crash in other situations.
The result is not bad but not as fast as expected neither minimal. Not
minimal because I had to adapt to plenty of frameworks or sites's
specific stuff but widely used. Not as fast as expected because I think
property access is too slow (styles lookup for example for this project,
it seems that the problem increases exponentially when trying to access
undefined properties), I thought maybe it would be possible to implement
virtual rendering but I had to surrender, no way today to do this in js
I believe, it would be too slow, but maybe tomorrow if I read correctly
this thread.
Regarding NodeLists, it's not an ES subject but I would say :
1- the "world" thinks it is an array
2- the "world" does not know it is updated dynamically (in an "ordered"
way in addition ...)
As everybody I made my own NodeList (and other things such as
CSSStyleDeclaration), not exactly w3c, which is to make it look like an
array (like everybody again and future DOM specifications), so 1) is solved
But 2) (which is the dynamic "ordered" update of NodeLists) still
continues to look useless to me and a huge handicap for performances, I
suppose plenty of people will disagree, probably a question of
experience, unlike jquery for example I never or rarely uses/used
NodeLists and probably jquery users or just normal developers recall
several time $('xx') or document.getElement(s)Byxxx, the question here
has nothing to do with ES but is it really fundamental ?
Le 19/06/2012 17:37, Allen Wirfs-Brock a écrit :
On Jun 19, 2012, at 5:29 AM, David Bruant wrote:
Le 19/06/2012 14:11, Alex Russell a écrit :
...
is to give us a chance to fix this (among other) errors in DOM's design. Yes,
it's up to DOM to fix it, but we need ES to adopt things like Allen's Object
Model Reformation to help enable it:
http://wiki.ecmascript.org/doku.php?id=strawman:object_model_reformation
I guess knowing what the elem.find() API is will help me understand this part
better, because I'm not sure I see the link between the object model
reformulation and fixing the DOM API. Can you elaborate further on that? (if
this discussion already happened somewhere else, a link to that discussion will
be enough, of course)
Actual API "design" is probably an orthogonal issue. What the "Object Model Reformation" proposal (which is
probably better understood by its subtitle "Decoupling [ ] and Property Access") does is permit the existing behavior
of DOM collections to be directly expressed in JavaScript without having having to resort to host object magic. It supports the
general principle of: If the DOM needs to do it then it should be doable in pure JavaScript. There are lots of reasons why for
some objects it makes sense for "indexed access" to have different semantics than "property access". The DOM
does this today. In an improved DOM API design it will probably also be the case. The Object Model Reformation provides a
semantic basis for designing such improved APIs rather than just making up host object magic that has no foundation in core
JavaScript semantics.
Allen
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
--
jCore
Email : avi...@jcore.fr
Web : www.jcore.fr
Webble : www.webble.it
Extract Widget Mobile : www.extractwidget.com
BlimpMe! : www.blimpme.com
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss