- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
Understanding the inner workings of a single browser engine can be useful in the same way that understanding how an engine works will help a driver get the most out of his car, but some of the knowledge will not transferable to other browsers.
Complete waste of time. What is important to have at hand is the standards, and perhaps some documents explaining browser peculiarities. But not the source code of the browser! It would be like hoping to get better at drawing pictures by studying the source code of Photoshop.
Not really. I have been developing for the web since about 1994 and I have never had the need to dig into the source of a browser. Honestly I would not know where to start, they are huge applications written in C++, which I have not done since college.
Waste of time, waste of disk space.
I'm +10 years experience of Windows C++ dev but building the executable of Firefox is to difficult and time consuming, so I've tried couple of times and gave up. Chrome has somewhat easier build environment but their implementation is more complicated, I think.
Below is the behind the scene document of modern web browsers. I want to say, if you fully understand this document, you can hope matching the concept to the source code in time scale of weeks (without sufficient C++ dev knowledge, it could be months).
Understanding the inner workings of a single browser engine is a gigantic task That can only mislead a normal web dev. Chromium is not really a standard and webkit engines (and chromium is one of those) have the ugly tendency of rendering stuff in slightly different ways across platforms. (it's a problem with webkit that gets more dramatic over mobile phones, but it's there)
Anyway, to keep up with analogies: it's like having to plow a field with a tractor in autumn and spend time bothering about the inner workings of the combined harvester that will eventually clean it up the next summer.
It's... going off trail in an obsessive compulsive way.
It can be useful if you actually want to develop a native plugin for Chrome OS, (whose future is pretty uncertain, but well, it exists, at least) but what you really want to know for the immediately foreseeable future in web dev is HTML4, CSS3, SVG, and the audio/video/canvas/location/storage quasi-standardization commonly known as HTML5.
And please: do everyone a favour and get someone to teach you SQL, it's still there, and with many clever tricks it can facebook-scale.
All of those technologies reside in a different layer above the browser implementation. And then further, on the server side of things. Yes, web devs do server side computations. Actually, is what pays most, in real life.
In a single browser source code, then, there's a lot of political and marketing strategies going on. The browser war is still raging on, with differrent competitors, but then.
Little details make the difference, and a single vendor's choices hardly reflect the "this should be done this way" consensus. (and chromium, being so much Google-influenced, will reflect some not-really-canon Google views on what the internet should look like)