←back to thread

Is Chrome the New IE? (2023)

(www.magiclasso.co)
281 points bentocorp | 4 comments | | HN request time: 0s | source
Show context
taf2 ◴[] No.42169642[source]
Not even close. IE 6 didn’t get any updates or new web features for years. It was closed source. It was dead and everyone used it. float:right; zoom:1; was a common necessity… to compare them is an insult to the immense progress and effort spent over the last 24 years… (yes chrome started in 2007, but the teams from Firefox get credit too, many of them went on to build chrome ). The open source movement won, IE is dead - MS shipped edge. We can argue about how Google is evil all day but it’s night and day compared to what the web was like in 2000
replies(3): >>42175394 #>>42175445 #>>42175554 #
alganet ◴[] No.42175394[source]
Then why does it feel like standards lost?

We don't have float:right;zoom1: but our "necessities" nowadays are even crazier. Babel, vdom, frameworks provided by browser-vendors. Those are several orders of magnitude more complex than previous "workaround" approaches to the web, all unstandardized.

How about Electron? Do we see any Firefox-based desktop apps around or is that market completely dominated by the Chrome runtime? Are app developers happy having only Chromium as the viable solution? (my guess: they're not, but they have no choice).

Where we're going is even nastier than clearfixes and table layouts.

replies(2): >>42175435 #>>42175669 #
darepublic ◴[] No.42175669[source]
Babel/vdom is not necessary for web dev. Can't blame chrome for electron.
replies(1): >>42175760 #
alganet ◴[] No.42175760[source]
If something uses DOM and JavaScript, to me it's web enough to be called web, even if it is rendering outside of regular browser expectations (some React Native stuff or similar). The whole premise of this tech is to approximate app development to web development.

Anyway, it's not about _blaming_. Web technologies are being laid in a landscape by multiple parties, it's about understanding that landscape.

replies(1): >>42175894 #
bawolff ◴[] No.42175894[source]
Sheesh, the existence of libraries does not mean standards have failed.
replies(1): >>42175996 #
alganet ◴[] No.42175996[source]
Sometimes it does.

Would normalize.css exist if the standards were more specific around default styles?

Would jQuery/sizzle exist if CSS selectors were available as a DOM API in the first place?

Would vdom exist if DOM was faster?

replies(1): >>42179398 #
kccqzy ◴[] No.42179398{3}[source]
VDOM would still exist if the DOM was faster. It's a different abstraction that reconciles the differences between the simple data->elements flow and the inherently stateful DOM. If you don't understand why VDOM exists, here's a nice experiment: in your next web app stop using VDOM and always set innerHTML. You'll find that (1) it's actually fast enough so you can conclude that VDOM doesn't exist just to patch over DOM slowness; (2) you are missing some features you get in VDOM.

The answer is that the DOM inherently has state. It could be a textbox's text input and its cursor state, or the focus state, or whatever. But developers don't want to think about this DOM-managed state to simplify their mental model.

replies(1): >>42179801 #
1. alganet ◴[] No.42179801{4}[source]
Let's ask the next why. Why make the interaction with the DOM stateless?

Because walking the tree sucks, and more specifically building upon the tree sucks a lot (createElement, appendChild, etc). That's why innerHTML, which was _not_ a standard, became a standard after being widely implemented and used.

So, the solution was to almost never read the actual tree, because it is slow and weird. This was solved before React (libs like Backbone and others kept track of state).

Regarding DOM mutation, the browser goes through possibly a lot of stuff (reflow, repaint, etc) when the DOM is changed. React is designed to allow components to optimize this lifecycle. It is very easy to misuse though. You have to know the lifecycle to be able to use it effectively, so, you have to think about the state (or just be allowed to use off-the-shelf components, or be ready for unexpected pitfalls).

It seems something like VDOM could be introduced to the standard DOM API. Some kind of detached DOMDocument that is very sterile and fast. It should be faster than doing it with JS. Remember when we parsed JSON with libs written in JS? Or when CSS selectors were parsed inside jQuery? Do you notice my point?

replies(2): >>42180737 #>>42183903 #
2. Thiez ◴[] No.42180737[source]
> Remember when we parsed JSON with libs written in JS?

No, when was that? Because it was always possible to `eval(jsonString)` and get the parsed result. Indeed, that was the whole point.

replies(1): >>42180851 #
3. alganet ◴[] No.42180851[source]
It was always possible but never safe.

We're oldschool, not savages!

4. ◴[] No.42183903[source]