After doing this for so many years now and one thing I’ve really come to see as a fairly fundamental truth at this point is that the more you can align with the underlying platform you’re working with generally the better.
And so in that sense, the answer is web components. I know everyone hates the API but it was intentionally designed to be a low level thing to build a developer experience on top of and the best implementation of that right now is Lit. It’s also a pleasure to use and incredibly lightweight and designed to become even more lightweight overtime as new capabilities come to the web like signals in JavaScript or talk of native templating etc.
There is another option that I really like for certain kinds of applications which is Flutter which might sound contradictory to my original point because it skips the idea of the DOM entirely and brings its own rendering engine to a canvas element.
But it’s set to be the first serious Wasm and WebGPU based UI library on the web and has no problems spitting out 120fps (this is before even they have actually added WebGPU support and their newest rendering engine to the mix by the way) while keeping its rendering engine to I think about 1.5-2mb in size. It also gets you a single codebase that will run literally anywhere as an AOT compiled app.
That’s to say nothing of Dart itself which I cannot even begin to describe what a huge improvement it is over JavaScript and Typescript. If you haven’t tried it yet, do yourself a favour.
I’m just making the point that JavaScript and the DOM are no longer the only players in town and when you’re not trying to mix abstractions of a document markup language and an application a whole lot of problems just disappear like does this look different in different browsers or can I use this new feature etc.. it just works… everywhere… on the web.. on a desktop.. on a phone or an IoT device.
I thought Google had already killed Dart once? Or was it Flutter? I'm not really touching any of their “open-source” projects; fool me once, you know.
But my point stands. I haven't seen a single job posting in 2 years that isn't using React, Vue, Angular, or (a tiny bit) Svelte. So Web Components just aren't being widely used, it seems.
I’m not trying to be rude in any way here but literally everything you have posted here is incorrect. I don’t know where you’re getting your information from.
The only exception is about job postings and react, I’m not making the argument in any way shape or form that that isn’t the overwhelming majority of jobs out there, but that wasn’t what I was talking about I was saying it’s an actively bad choice for a project in 2025.
> I’m not trying to be rude in any way here but literally everything you have posted here is incorrect
I'm also not trying to be rude but you said a lot about React and offered a myriad of Google solutions to fix it, most of them got downgraded by Google itself and are on their way to the famous Google graveyard. Telling us about a problem and that Google knows how to fix it is indeed rude.
I stand corrected if I was wrong. Following the news over the years I had the impression that Dart (or Flutter) and Angular had been axed — with the decision reversed.
You are not wrong, staff from Dart, Flutter and Lit teams got fired. What happened after did not get to the news.
A Flutter and Firebase developer who goes by the name xeladu wrote that after a discussion with an unnamed “Google developer expert,” the developer wouldn’t recommend learning the language, but added it’s not time to port Flutter projects just yet.
“I’d rather say no to be totally honest. Only do it if you just want to play around. Then it will be fine,” xeladu wrote. “But becoming a serious professional Flutter developer could probably be a waste of time.”
Yea just to be clear none of that ever happened in real life.
I think maybe you might be mixing up some things here which is that there was once many years ago a version of Angular which was written in Dart which exists internally and powers AdWords but no longer exists publicly. Perhaps that is why you’re thinking of?
And so in that sense, the answer is web components. I know everyone hates the API but it was intentionally designed to be a low level thing to build a developer experience on top of and the best implementation of that right now is Lit. It’s also a pleasure to use and incredibly lightweight and designed to become even more lightweight overtime as new capabilities come to the web like signals in JavaScript or talk of native templating etc.
There is another option that I really like for certain kinds of applications which is Flutter which might sound contradictory to my original point because it skips the idea of the DOM entirely and brings its own rendering engine to a canvas element.
But it’s set to be the first serious Wasm and WebGPU based UI library on the web and has no problems spitting out 120fps (this is before even they have actually added WebGPU support and their newest rendering engine to the mix by the way) while keeping its rendering engine to I think about 1.5-2mb in size. It also gets you a single codebase that will run literally anywhere as an AOT compiled app.
That’s to say nothing of Dart itself which I cannot even begin to describe what a huge improvement it is over JavaScript and Typescript. If you haven’t tried it yet, do yourself a favour.
I’m just making the point that JavaScript and the DOM are no longer the only players in town and when you’re not trying to mix abstractions of a document markup language and an application a whole lot of problems just disappear like does this look different in different browsers or can I use this new feature etc.. it just works… everywhere… on the web.. on a desktop.. on a phone or an IoT device.