Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> You say "just about the worst option imaginable", but the evidence doesn't really suggest that.

Notably, the anti-web mob almost never bothers to articulate why it is they think the web is bad at all! This is another classic case, of inchoate disparagement, with no specific claims to be backed nor refuted.

I want to be a sponge, to embrace good ideas, to hear & listen to what people think might improve or enhance things. But there's rarely real problems cited (or there are gross mis-understandings), and much rarer still is a better path or possibility articulated. I'd love some genuine discussion of the web, but the silent majority seems ok-enough or better working the web regularly, and the protestors against the web tend towards blunt & undirected.

One conflict I do see as visible again and again is the expectation of what the web should be. There seems to be quite a lot of hostility to the web being a low level platform, to it not having a single consistent development style. This leads to a lot of "the web was never meant to do this!" sort of feelings, but that doesn't really argue whether this iterated adaptability the Document Object Model has spawned serves us well or poorly.

One thing that is true is that the DOM is a low level platform, that it's not higher level. It doesn't compactly solve all or even most of the problems. To me, this is the critical value of the web, that which makes it so much better & more powerful: that we are free to express multiple architectures, free to innovate our UI patterns & do so, while still keeping the same underlying bones. This has begat great cross pollination across many different tribes of webdevelopment, has continued to make the web a crossroads of development, where many ideas cross paths & new ventures, new trials are began. It compares versus near-literally everything else, where isolated communities come and go (even within corporate walls, e.g. Microsoft's GDI, WPF, Silverlight, WinUi, DirectDraw, WinRT, UWP/Uno, .NET MAUI, or GTK's major 1, 2, 3, 4, & Adiwata reworks), ideas for how to make interfaces rise & fall, never quite satisfying.

There's protests against the web being fast enough, but frankly it's horsepucky. The browser is intensely optimized & stunningly fast at all kinds of things. It does not however prevent mis-use, prevent bad code. Often installing ad-blockers (something not doable in apps note you) is enough to get users to lightspeed.

The web has made a great Bazaar, a great place for a conflux of possibilities, and has proven vastly malleable as a medium & platform, boosted so much further by it's connectivity-at-the-core versus applications which bolt-it-on, and given far greater reach than the developer-centric gui toolkits of yore. So much is possible here, and the great reverberating om keeps giving, keeps exploring. But, it feels like, so many just want the Cathedral, the one specific incarnation that is well shaped, that everyone can just do. I just hope we can have some discussions about what would make a good Cathedral, what properties & virtues it would have, because i think the Bazaar will probably ultimately accomplish those ends better, but if we can't engage & discuss, no one wins.



> the DOM is a low level platform

The DOM is not "low level", its the wrong abstraction. It feels low level to you because it is fundamentally hard to express the layout of a gui application in terms of a document layout.

Compare the HTML DOM to Android's XML layout. It is so much easier to work with Android's layout system. You can trivially do things like anchor element X to the left / right / top / bottom of element Y, without workarounds like display:inline and adding div upon div upon div to make things work right.

I could list out another dozen things that JS does poorly, but I don't think that would be very productive.

> The web has made a great Bazaar, a great place for a conflux of possibilities

The web has been successful in spite of its bad technology. The concept of the web and the internet is wonderful. And the reality of the web would be better than it is today if websites weren't so slow, bloated, and buggy.


> Notably, the anti-web mob almost never bothers to articulate why it is they think the web is bad at all!

They articulate it all the times. Unfortunately "sponges" with their "reverberations of yore" are too enamoured with the sound of their own voice to hear that.

Meanwhile, as far as app development goes the web cannot even reach the heights of Turbo Vision from 1990s.

Just some of the reasons articulated in a Twitter-sized manner: https://news.ycombinator.com/item?id=34218520

> boosted so much further by it's connectivity-at-the-core versus applications which bolt-it-on

Tell me you know nothing about history without telling me you know nothing about history


Here are some concrete issues. These aren't "web is bad" kind of things but more like "sometimes the web is bad at certain tasks and that can't easily be fixed".

1. Not layered in any meaningful way. Seen another way: you can't implement a web browser using web tech.

This matters because a typical way to write apps outside the web is to pick an opinionated high level platform that you think will do what you want, but if it turns out at some point to not quite work in one part of your app you can drop down to a lower level. You can use the operating system's text rendering but you don't have to, and if you don't for some reason you won't really lose much performance because you can use the same lower level APIs that the OS's own text rendering library uses. This ability to drop down a level when you hit the limits of an upper level is significantly limits development risk and makes planning easier, because you know you will always be able to do something, it's just a question of effort. On the web, if you hit the limits of the platform, you're just SOL.

2. GUI only paradigm. Useless for CLI apps, servers, etc. There's no deep reason for this beyond history, inertia, business models and so on.

3. No working notion of software components. This has actually got worse with time: web components got rolled back, plugins were removed, HTML includes don't exist. That's something ViolaWWW got right in 1992! The web's leading component technology is React which doesn't even come from browsers and browsers lack obvious features it could use to improve performance. See how Sciter doesn't even need ReactJS core at all because they've got a DOM extension that does DOM diffing and patching in C++, but regular browsers don't!

4. The DOM model is not high performance. It's highly optimized in Chrome for what it does but the DOM is an extremely complex and generic system that nonetheless fails to deliver modern and competitive widgets causing a high level GUI API to be treated as if it's "low level", even though it isn't. It can't really remove anything, so browser code is absolutely full of slow branches, lookups, workarounds and so on. If you take it as given then browsers are fast because Google and Apple invested so much into it, but if you take a step back and say "what's the best way to render documents and GUIs fast" then it's not that great.

5. The web is absolutely not malleable as a platform. It's not at all bazaar like. Take just one obvious pain point where some malleability would be nice - a malleable system would let you use non-JS languages! The web's current attempt at this is WebAssembly, which can't do anything useful unless you call into JS to do it, which imposes a large performance penalty vs native code and which doesn't even really work for anything higher level than C++ or Rust. If the web was malleable someone would have fixed that years ago, but in reality the web can only be changed by Google and only via a convoluted and opaque political process.

Don't get me wrong, the web gets a LOT right! There are dozens if not hundreds of lessons to learn from its success. But the critics do have concrete issues.


> web components got rolled back

Unfortunately, they haven't. Google especially pushes them at every opportunity, and they are poisoning the web. E.g. Scoped CSS that covers about 80% of what web components are used for cannot progress because now it has to account for weird corner cases in the Shadow DOM.

Meanwhile none of the major and very few of the new frameworks view web components as a viable foundation. They still have multiple issues that will maybe someday be solved by throwing more and more Javascript at them (see how incompatibility with forms was "solved")




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: