top | item 45874517

(no title)

blablabla123 | 3 months ago

To me XSLT came with a flood of web complexity that led to having effectively only 2 possible web browsers. It seems a bit funny because the website looks like straight out of the 90s when "everything was better"

discuss

order

mrguyorama|3 months ago

But this is wrong.

It was not rendering that killed other browsers. Rendering isn't the hard part. Getting most of rendering working gets you about 99% of the internet working.

The hard part, the thing that killed alternative browsers, was javascript.

React came out in 2012, and everyone was already knee-deep in earlier generation javascript frameworks by then. Shortly after, Google would release the V8 engine which was able to bring the sluggish web back to some sense of usable. Similarly, Mozilla had to spend that decade engineering their javascript engine to claw itself out of the "Firefox is slow" gutter that people insisted.

Which is funny because if you had adblock, I'm not convinced firefox was ever slow.

A modern web browser doesn't JUST need to deal with rendering complexity, which is manageable and doable.

A modern web browser has to do that AND spin up a JIT compiler engineering team to rival Google or Java's best. There's also no partial credit, as javascript is used for everything.

You can radically screw up rendering a page and it will probably still be somewhat usable to a person. If you get something wrong about javascript, the user cannot interact with most of the internet. If you get it 100% right and it's just kind of slow, it is "unusable".

Third party web browsers were still around when HTML5 was just an idea. They died when React was a necessity.

MrJohz|3 months ago

Conveniently, all three of the major JS engines can be extracted from the browsers they are developed for, and used in other projects. Node and Bun famously use V8 and the WebKit one, and Servo I believe embeds SpiderMonkey.

If you want to start a new browser project, and you're not interested in writing a JS engine from scratch, there are three off-the-shelf options there to choose from.

deafpolygon|3 months ago

This tracks - most simpler browsers run great, until anything more than basic JS is introduced. Then they slow to a crawl.

api|3 months ago

I have the same mixed feelings. Complexity is antidemocratic in a sense. The more complex a spec gets the fewer implementations you get and the more easily it can be controlled by a small number of players.

It’s the extend part of embrace, extend, extinguish. The extinguish part comes when smaller and independent players can’t keep up with the extend part.

A more direct way of saying it is: adopt, add complexity cost overhead, shake out competition.

FredPret|3 months ago

This is also the argument against overregulation.

A little bit can be very good, a lot can strangle everyone but the biggest players

varjag|3 months ago

We can only thank the millennials for killing the whole XML tech stack for good. That and blood diamonds industry.

layer8|3 months ago

It's far from dead, though. XML is deeply ingrained in many industries and stacks, and will remain so for decades to come, probably until something better than JSON comes along.

efreak|3 months ago

There's still epub and tons of other standards built on xml and xhtml. Ironically, the last epub file I downloaded, a comic book from humble bundle, had a 16mb css file composed entirely of duplicate definitions of the same two styles, and none of it was needed at all (set each page and image to the size of the image itself, basically)

grishka|3 months ago

On the web. I, among other things, make Android apps, and Android and XML are one and the same. There is no such thing as Android development without touching XML files.

MetroWind|3 months ago

RSS, MusicXML, SVG, Docbook, Epub, JATS, XMP, ...

Sorry, web frontend is not the "whole XML tech stack", despite popular belief.

And yes all of the above are mainstream in their respective industry.

data-ottawa|3 months ago

Some of it deserved to die, mostly because it was misused.

I don’t know how many times I had to manually write <![CDATA[ … ]]>

I know all markup languages have their quirks, XML could be come impressively complex and inscrutable.