HTML and DOM lack those because that’s not what they’re for. Stop trying to build desktop and mobile applications using a document markup language. If you’re building a client-side application, use the platforms’ native languages and technologies.
It should be possible to port a modern browser engine to an average new PC from 1995 and use almost the entire web, over 33.6K dialup, with good performance—modulo high-res/quality images, audio, and video. That we’ve allowed the web to get away from this says way more about web development than technology.
> HTML and DOM lack those because that’s not what they’re for. Stop trying to build desktop and mobile applications using a document markup language. If you’re building a client-side application, use the platforms’ native languages and technologies.
People love to say this here but I've never seen a good reason for it. Web technologies are far and away the best I've used for creating user interfaces. And there are significant advantages to building on the web. How else can someone jump into collaborating on a document or a picture with me — without installing anything — after receiving only a short text?
>How else can someone jump into collaborating on a document or a picture with me — without installing anything — after receiving only a short text?
To be fair, that doesn't require HTML and the DOM, it just requires a network. It just happens that the network we have is used to serve HTML and everyone already had the app installed (browsers) when "web apps" became a thing.
Indeed, some of us were doing it many years ago in native applications, no HTTP involved, on hardware a fraction as powerful as the average smart watch.
HTML and DOM are genuinely poor media for doing that though. A lot of web development is working around them.
However, it’s the only common UI we have. It is defined outside the scope of any one platform. And if you want to serve HTML, you have to conform to the spec.
There is no UIML. If there were and if it were served via HTTP, we could have all of what you want AND a better web development experience
All native toolkits are better to work with for UI than HTML+DOM.
To paraphrase: saying HTML+DOM is great because it works everywhere is like saying anal sex is the best because it works on everyone.
Eventually, in any significantly complex application, you will have to work around the DOM. Or kick to rolling your own controls because HTML doesn't have what you need. React, Angular, Vue, Bootstrap, Tailwind, Material, the others, they all exist because HTML+DOM is not made for what it has been forced to do.
"Centering a div" is a meme for a reason. You don't have those problems with native UI.
There is a very clear market desire for desktop style apps delivered through browsers.
Users love it. Users hate installers. Users hate updates. Webpages have neither.
Companies love it. Makes subscription access apps easy to sell. Makes it easy to target all platforms and keep costs low.
Seems very flippant to completely dismiss the dominant trend in this industry over the past 20 years as simply wrong.
I agree the technologies are not well suited to this purpose which is why I avoid frontend at all costs. But powerful web apps generate a lot of value for a lot of people, myself included.
Nah. This “dominant trend” exists because companies are always trying to get developers as cheaply as possible, not because pretending web pages are applications actually provides real productivity or usability or even deployment benefits over the long term relative to native applications.
Some of us have been in this industry long enough to see the same promises come around several times in various forms and they’ve always been bullshit. Thats why I don’t participate in it and stick to native development.
I disagree. Most of the "interactivity" is attention-stealing anti-patterns that no sane person actually wants.
News sites with scrolling auto-playing videos, overly-complex SPAs that are slow when you just want to get this specific task done, newsletter subscription modals, the list goes on.
True "webapps" are rarer than we've been lead to believe.
It should be possible to port a modern browser engine to an average new PC from 1995 and use almost the entire web, over 33.6K dialup, with good performance—modulo high-res/quality images, audio, and video. That we’ve allowed the web to get away from this says way more about web development than technology.