http://caniuse.com/#feat=shadowdomv1(TECHIE STUFF)
(updated)
Ok, I am pretty deep in this nouveau-javascript stack now, and you know, I’ve been writing software since … like 1974? And i’ve gone through every generation of hardware and software. And while the DOM is a certainly bad architecture for rendering applications. And while rendering only differences between the DOM and the virtual Dom is an interesting solution. And while ‘the kids’ are coming out with new ‘solutions’ every day now. This is all really just a lot of hacking to get around a pretty simple problem that should be built into the browser, and have nothing to do with software: the continuously updated DOM is a shitty design for the current state of the internet, and there is no reason that the same work being done today by hand is not built into the browser engine.
I’ve look at literally hundreds of applications over the past few months, and I’ve gone through all the application architectures (what is now called more correctly ‘patterns’), and this has got to be the least maintainable generation of software I have seen in my lifetime … other than the PREVIOUS generation of hacks to make the browser do what it hasn’t in the past.
So the better question is, why can’t browser engines do the diff and only update the necessary DOM elements? Why can’t we create ‘stores’ in the damned DOM?
I just don’t understand why a developer’s job isn’t limited to creating components, collecting events and issuing state changes. It’s not like this is rocket science.
“Props”? And you thought softly typed languages were a problem?
A module with type declarations outside the class? Oh… and you know why we spend so much time writing tests? Because instead of 90% of our work being pointer and memory maintenance in the past, (a failure of operating systems to invent an adequate means of garbage collection – ie: microsoft dot net) we’re compensating for a failure of a language interpreter (in the browser) to compensate for all the natural fuck ups humans make when doing this kind of nonsense. omg. this is insane.
And yes, I like writing object oriented code (c++ etc) or functional code (pascal), because its freaking MAINTAINABLE. I am not sure what this is supposed to be called, but making up a new name for ‘shitty disorganized code that compensates for a shitty data model (the DOM) and it’s operating system (the browser) is the OPPOSITE of what the free software movement should have brought us: a conflict of priorities and no jury (management team) to demand changes.
argh…
Vent off.
lol
UPDATE:
1 – it’s in current versions of chrome and opera. Scheduled for the rest.
http://caniuse.com/#feat=shadowdomv1
2 – it’s weak but it’s progress. 🙂
https://www.w3.org/TR/shadow-dom/
Source date (UTC): 2017-01-18 15:57:00 UTC
Leave a Reply