The Clue for Understand Modern Web Browser Open Source Arch
Modern Browser
In most cases, it refers to Chrome
, Safari
, Edge
and Firefox
. Edge
and Chrome
both derived from Chromium
project, so basicly, modern browser means Chromium
, Safari
and Firefox
.
Chromium
and Firefox
are open source, Safari
partially(webkit) is open source.
https://github.com/chromium/chromium
https://github.com/mozilla/gecko-dev
https://github.com/WebKit/WebKit
HTML/CSS/Javascript
They are origin resources for browser to render pages, and developed by front-end engineers.
So, in real world, there are two roles:
- Browser engineers => develop browser to render pages
- Front-end engineers => develop HTML/CSS/Javascript resources to feed browser
The resource standard
spec is the key to guide development process.
All spec is open source, welcome anyone to contribute and discus.
https://github.com/whatwg/html/
https://github.com/w3c/csswg-drafts/
https://github.com/tc39/
Spec Clue
Example: Javascript New Feature: Import Assertions
import json from "./foo.json" assert { type: "json" };
import("foo.json", { assert: { type: "json" } });
This feature need change javascript grammer, so, it got a tc39
proposal:
https://github.com/tc39/proposal-import-assertions
This feature related to resource load, in browser context, load resource is HTML responsibility.
So, it got a whatwg
PR:
https://github.com/whatwg/html/pull/5658
Implement Clue
New feature on Chrome
status can be found at https://chromestatus.com/
For example: Import Assertions
: https://chromestatus.com/feature/5765269513306112
It contains develop status page link: https://bugs.chromium.org/p/chromium/issues/detail?id=1132413 and other browsers attitude.
Chromium Bugs page contains V8
develop status page link: https://bugs.chromium.org/p/v8/issues/detail?id=10958 and other commit link.
V8 Bugs page contains commit link.
From these infomation, we can know the real status of Import Assertions
that on Chrome
modern web browser.