Re:Asm-dom, a minimal WebAssembly virtual DOM to build C++ SPA
by tannhaeuser on Monday March 16, 2020 @10:33AM
(#22593038)
DOM already has a "batching" interface: construct an arbitrary complex new node off-screen, then use eg. replaceChild() on the live DOM (possibly using importNode()/adoptNode()) to attach it as the last step of your event handler.
[ Parent
| on HN ]
Re:Asm-dom, a minimal WebAssembly virtual DOM to build C++ SPA
by lhorie on Monday March 16, 2020 @12:45PM
(#22594312)
That has two problems:
1) this technique doesn't work if you need to keep part of the DOM (e.g. a focused input or a running video)
2) this technique is O(n) in IE
Re:Asm-dom, a minimal WebAssembly virtual DOM to build C++ SPA
by jlokier on Monday March 16, 2020 @03:47PM
(#22596790)
This technique should be O(n) in every browser (where n is the size of the inserted tree), unless large parts of the tree are hidden with display:none.
After replaceChild(), the inserted tree must be analysed in context for CSS, layout and rendering. That will take O(n) unless parts can be skipped.
Do you mean that IE does a separate CSS or layout calculation for each node as they are inserted one by one?