Hacker News new | ask | show | jobs
by crazygringo 745 days ago
> So You Want To Build A Browser Engine

The only correct answer is, "don't".

I mean, if you want to build a toy browser engine for a CS class or fun or something, then sure.

But the idea that "you want to build an engine that’s competitive with Chromium" is, quite simply, nonsensical.

If you want your own browser engine, you're going to fork Chromium or Gecko (Firefox). I mean, even Microsoft gave up on maintaining its own independent engine and switched to Chromium.

I literally don't understand who the author thinks this post is supposed to be addressed to.

Building an independent browser engine could have made sense in 1998. These days it would cost hundreds of millions of dollars in dev time to catch up to existing engines... just to duplicate something that you already have two open-source versions of?

2 comments

HTML and CSS are pretty terrible languages. Basic things like form interaction, centering, printing a page of something, overwriting every default UI, etc. often take an odd amount of LOC to make basic things.

We're collectively getting better via following the same spec, which is great, but challenging the browsers and even the spec can shed light on potentially better implementations. Let's not pigeonhole ourselves to a couple vendors just because it's easier and works _good enough_.

My favorite web design is that '90s style where text went from very left to very right, barely any CSS, and Javascript (somehow my favorite language) was for fart buttons.

I'm currently most excited about keeping up with WebRTC. And yeah, I have no interest in writing a new browser engine.

Even Chromium started with WebKit which itself was a fork. This doesn't mean you shouldn't be interested in browser dev but you also don't have to do a totally clean sheet implementation.
Looking back, it was kind of weird how both apple and google used webkit for separate proprietary browsers for so long.
But that's exactly my point.

This article appears to be entirely about an implementation from scratch.

It makes very clear that it is not about forking Chromium.

But even Google was smart enough not to start from scratch.

So again, I don't know who the intended audience for this article is. It's advice on something no sane person or organization would ever do.

And yet a few people are doing it. So yeah, it's advice to insane people.
I have succumbed to the temptation to implement various aspects of this. I have also tweaked existing implementations for my day job. I even had the assignment to pitch an implementation to a client. So I am sure that some would question my sanity NOW. TFA suggests that I might not have been sane to start with.

I admire any team-of-one that takes on this endeavor and publishes their work.