Look, I get that a lot of y'all want to dismiss the incredible scale of Web Components deployment these days because you're bought into framework(s) that are bad at DOM and don't play well with others.
What if you didn't need to rely on ad hoc forks of HTML and JS, or at least got decent performance and interop for your trouble?
Dare to dream of a world that's already here.
It isn't helpful to point out how badly the failed promises of vdom and "concurrent mode" played out at scale, so consider instead what can be gained from *actually* writing components once...with miniscule runtimes...without global coordination.
The secret to going faster, it turned out, was always "do less work." The promises of insufficiently empowered global coordinators were always hollow. Caveat emptor.
Web Components are not a silver bullet.
Thankfully, adopting them might have a moderate chance of breaking you out of soothing, common delusions about shiny lead. It never works enough.
Caring about users, particularly marginalised users, is the only path to delivering great experiences reliably. It's hard, requires skepticism and testing, and doesn't cotton easily to dogma or cheerleading.
And it's better.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Hard to overstate the technical achievement by teams across Adobe and the Chromium community. Bringing Photoshop to the web has been a massive undertaking:
Particular and specifically proud of all my Project Fugu 🐡 friends and colleagues.
As @fractorious and Nabeel allude to in the post, this has been a long, long journey. Getting the web platform into a place where folks could even *consider* projects this ambitious has been a huge lift.
Photoshop on the web is huge. But beyond that, what it signifies is a Big Freaking Deal.
When the web gains features to support high-end productivity, those same capabilities can be combined to unlock whole new classes of apps that suddenly don't require heavyweight installs.
You can tell so many stories from the freeform responses to the State of CSS survey, but none of them support the idea that the #applebrowserban on competing engines is pro-developer.
Having looked pretty deeply at various blockchain tech stacks over the years, this thread seems dead on.
People are holding on to *the dream*, and the fact that the tech will impoverish millions, help destroy the one world we share, and fail to avoid aggregation is immaterial.
I can't stress enough just how transparently wrong the "decentralised" claims are should you care to look.
Not the dream of decentralisation (whatever that is), but the lived reality of all these systems. Bitcoin? Mostly traded through exchanges now. And they will be regulated.
"web3"? Well, you can't find anything...so you get alt-stack, slower, less capable versions of systems we already have:
I can't say it enough: "vdom" is not fast. It is slow.
The only *defensible* claim is that it isn't as slow as one might think given how much overhead it adds...but that doesn't make it competitive or good.
Computing diffs through something like React's reconciliation algorithm is a clever way to avoid needing to have knowledge of the potential changes that can occur on either the JS or DOM side.
But it's correspondingly very expensive.
Reactive systems that constrain *either* how you update DOM (e.g. Lit's template system) *or* cabin the effects of JS side-effects (Svelte's "reactive declarations", FAST's Observables) deliver superior performance because they don't need to model + compare the whole world
Browser teams (the folks who work on UI) don't think of content as "their problem". For historical reasons, they care about TLS and that has helped them make common cause with security interests.
But no such enlightenment has occurred around performance...and in particular, perf so bad that it endangers accessibility.
Platform teams, meanwhile, focus on making the runtime faster, rather than building common cause between users on high-end and low-end devices.