Live data from Hacker News

Web Browser Engineering

browser.engineering

61–64 of 64 posts

Re: Web Browser Engineering

#61
post #25

Building a browser as a desktop application would be quite hard, but I reckon I do it as a web application.

Maybe we should have a SaaS browser.

s/ already exists: Mighty [https://news.ycombinator.com/item?id=26957215] which is $30-50 a month for remote session to Chrome running on a very powerful Ubuntu system.

Looks like RemoteHQ launched something called Remote Browser as well, which is a SaaS browser, but more for collaborative purposes with more than one person using the same browser at the same time.

Re: Web Browser Engineering

#62
post #59
post #24

Earlier quoted context omitted.

Which part of OSs do you expect not to be covered? There's IPC. There's memory management. There's process management. There's network management. There's security. There's device management. They all happen at a slightly higher layer, but they all exist similar to an OS. (I'm not sure if the higher layer makes it easier or harder to understand - but in terms of what you need to know, an OS class or three is definite…

> There's IPC. There's memory management. There's process management. There's network management. There's security. There's device management. OSs are built on hardware, browsers are built on OSs. Even though they "sort of" do the same types of things, the abstractions are very different. - OS memory management is more about managing hardware page tables, copy-on-write, page sharing, page protections etc. Browser mem…

I think that highly optimized browsers have to deal with memory usage and page sharing as well. And QUIC started out as a userspace implementation shipped with Chrome handling packets and such, so I think browsers and OSes are not "entirely different".

Re: Web Browser Engineering

#63
post #49
post #27

Earlier quoted context omitted.

> IPC, memory management, process management, network management. I imagine the non-trivial parts of these are done for the JS VM (correct me if I'm wrong), and therefore a VM design course would have more intersection with Browsers with respect to these disciplines than an OS course. > security This one is everywhere, it has no special connection to OSes. > They all happen at a slightly higher layer Slightly?! That'…

These are all part of the browser outside the VM too. Multi-process architecture requires you to think deeply about IPC. Memory management is all over the place - there isn't a browser without custom allocators, investment into GC, etc. Process management -> see multi-process architecture. Network management: Browsers need to handle a tremendous amount of network issues. I mean... that's what they do. Outside of the…

I think a good example of two solutions used in browsers and OSes that are meaningfully similar (and not inherent to all systems software) would convince me better. Do you have one?

Re: Web Browser Engineering

#64

Earlier quoted context omitted.

Author here. I wrote up my answer here: http://browser.engineering/blog/why-python.html Basically: server-side JavaScript is just not as widely known as Python, and it'd be additionally confusing when our browser starts running JavaScript. And in-browser JavaScript is a bit too restricted (by things like the same-origin policy) to do the whole thing inside a browser.

I see. I tried searching the table of contents as to "why python" and could not find it, but that link does more than enough to explain the "why." I am resisting the urge to disagree, but since you did (literally) write a book about building a browser, I will defer to your expertise and try to learn from you :)

>I am resisting the urge to disagree, but since you did (literally) write a book about building a browser, I will defer to your expertise and try to learn from you

Respect

Post reply on HN