3 ms·
Former Mozilla employee here. The fact that they are writing their own bytestream abstraction does not bode well. That said, I hope they succeed at shipping s
by joshmarinacci 2y ago
Former Mozilla employee here.
The fact that they are writing their own bytestream abstraction does not bode well.
That said, I hope they succeed at shipping something, even if it’s not competitive with Chrome.
My previous thoughts on the topic:
Why you can’t build a web browser and why you should anyway.
https://joshondesign.com/2022/12/14/browser_1000_loc https://joshondesign.com/2022/12/14/browser_1000_loc
- diggan 2y ago> The fact that they are writing their own bytestream abstraction does not bode well. You want to elaborate on why exactly? Seems like a kind of shallow dismissal, but then I'm no browser engine developer exactly, maybe it's obvious.
- joshmarinacci 2y agoYou can only do so much, so success depends on which components you decide to reuse. I wouldn’t build a new database or filesystem abstraction from scratch, for example. Rust has lots of bytestream abstractions already with a ton of work put into them. Maybe they have a valid reason for going their own way. I’d like to know.
- sharktheone 2y agoThe byte stream is one of the first components that was written. Probably It wouldn't be written nowadays. The browser is quite modular, so in the end you can completely out out of that system.
- joshmarinacci 2y agoThat’s good to hear. I’m excited to see you’ve got a good html parser. That’s worth a lot just by itself.
- sharktheone 2y agoYes, the HTML parser, probably the component that is the most spec compliant. I think the CSS parser also is. For the initial phase, I think it is more important to get something working. For a later implementation, the spec should dictate what we do and what not. But with a small team, it is just not feasible.
- rixed 2y agoIsn't one of the difficultlies of writing a browser that your parser must accept lots of invalid inputs and render it like other browsers would?
- shiomiru 2y agoHTML5 parsing is relatively easy, because behavior for tag soup is 100% specified. That is, in theory, all conformant HTML5 parsers should output the same DOM for any arbitrary byte sequence. Layout is much harder because the CSS spec is full of UB, so you will have to do some reverse engineering there.
- levkk 2y agoThere are people who write their own hash tables, and there are those who just use a library. What may seem like a bad idea to some is trivial to others. Hacker culture is way more fun when you are allowed to use recursion [1]. [1] https://www.reddit.com/r/cscareerquestions/comments/ntvtzq/comment/h0v2ayc/ https://www.reddit.com/r/cscareerquestions/comments/ntvtzq/c...