3 ms·
Is all the complexity of a browser in the rendering engine? can a browser be split into several components so that they can be rewritten concurrently?
by yodsanklai 4y ago
Is all the complexity of a browser in the rendering engine? can a browser be split into several components so that they can be rewritten concurrently?
- riffraff 4y agoMozilla's servo seemed to be done in this fashion, so that some components were later brought to gecko/Firefox, so presumably you can do it.
- nicoburns 4y agoYeah, I think servo had the right idea. The main problem with servo's components is that they're severely underdocumented, which has made it harder than it should be for some components (like webrender) to become widely adopted (some of the other ones like html5ever and cssparser are widely used).
- mort96 4y agoI suppose it depends on what the goal was. If the goal was to end up with widely reusable web browser components, the lack of documentation might've been a problem; but if the goal was to improve Firefox, it seems to have been a smashing success.
- nicoburns 4y agoIt has been good at improving Firefox, but if you look at the wider picture then you see that Firefox has been falling in usage and struggling to keep up with webkit/blink. And IMO a large part of that is because core parts of Firefox Gecko and Spidermonkey are much less widely used (by as many apps/companies) than equivalents like Webkit/Blink/V8/JSC, and this because they are not easily embeddedable and their codebases are harder to work with. From this perspective, not focussing on documentation and making components usable externally is pretty short sighted.
- kitsunesoba 4y agoThe vast majority of the complexity is in the engine. One can whip up reasonable chrome (browser UI) in whatever UI framework one prefers in a few days tops. While there are slightly more involved parts like writing the bookmarks and history systems, those are pretty run of the mill tasks that can be completed in a relatively short period of time.
- cubefox 4y agoExactly.
- deleted 4y ago[deleted]