←back to thread

Web Browser Engineering (2021)

(browser.engineering)
692 points MrVandemar | 1 comments | | HN request time: 0.206s | source
Show context
currygen ◴[] No.41848445[source]
It's refreshing that browser engineering seems to become a "trend" now. The ecosystem is quite sparse with basically only Google, Apple and Mozilla defining it. I'd like to see forward into a future with more independent browser engines.
replies(4): >>41848575 #>>41848648 #>>41848756 #>>41850985 #
mike_hearn ◴[] No.41848648[source]
I don't think it's worth trying to write a rendering engine for HTML. You will never finish - HTML is a spec fully owned by Google and Apple at this point and it's just too complex to implement from scratch.

The interesting space is really post-HTML UI/document tech. There's another thread running about Typst which is a sort of better LaTeX. Markdown was highly impactful. There's a lot of scope for people to do interesting things in this space that are "HTML but better". It doesn't even have to be a markup format - Typst and React HTML both blur the lines between code and data. Jetpack Compose shows how to use Kotlin's DSL features to make something that looks a bit like a UI description but which is actually code.

Of course it means you have to then either distribute a 'browser' for your format, or find a way to display it in the browser. But compiling down to some JS/HTML/WASM thing is certainly possible. You can also use portable GUI toolkits like JavaFX; that also gives you accessibility. Or do both!

Once you define your own UI language there's a lot of scope to try things that HTML doesn't do well. An obvious one is separation of content and style. HTML tried and never really got there. XSL:T tried harder but was a weird pure functional language with XML as its syntax. React does quite well with going JSON->boxes but the underlying protocols are always ad-hoc and tacked on, so you can't really write useful tooling on top of that.

Another idea would be a format that's natively immune to XSS.

replies(5): >>41848888 #>>41850225 #>>41852914 #>>41854174 #>>41854436 #
niutech ◴[] No.41854436[source]
> I don't think it's worth trying to write a rendering engine for HTML. You will never finish - HTML is a spec fully owned by Google and Apple at this point and it's just too complex to implement from scratch.

Andreas Kling, the author of Ladybird browser, proves otherwise.

There is also QML as an alternative for HTML - see Canonic browser: https://www.canonic.com

replies(1): >>41856508 #
1. mike_hearn ◴[] No.41856508[source]
Andreas hasn't finished. Also, I question to what extent it's worth it.