Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How important is it for a developer that deals with web applications (let's say writing html and js) to download a browser's source code (like Chromium) and learn how the engine works (renderer, javascript vm, network processing, etc.)?

share|improve this question
13  
Have you downloaded code for your compiler, editor or operating system? If you have source code for all your tools, then why draw a line at the browser? If you have no source code, the same question applies? Why start downloading source for a browser? –  S.Lott Jan 2 '12 at 22:30
1  
The title of this question is misleading. At first glance I was like "yes, duh" but the question about source code is more specific than "how a browser works". –  jhocking Jan 2 '12 at 22:42
    
I just came home and connected to edit the title, but was already changed. Thanks Paul! –  Luciano Jan 2 '12 at 23:48
    
I look forward to a decent HTML/JS replacement - the day when browser will not be the same. –  Job Jan 3 '12 at 4:59
    
Thanks for all the answers. I see now it's clearly not worthy. –  Luciano Jan 3 '12 at 19:57
add comment

5 Answers 5

up vote 32 down vote accepted

It is more important to understand HTTP, client server, web standards and specifications (HTML 4, XHTML, HTML 5, CSS 2.0, CSS 3.0, Javascript) and the differences between the different browsers and browser versions.

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.

share|improve this answer
5  
+1 for a car analogy. –  Karl Nicoll Jan 2 '12 at 22:16
2  
Good answer, there's a huge amount of "how a browser works" that it's important for a web developer to know. Very very little of it involves getting anywhere near a specific browser's source code, though. –  Carson63000 Jan 2 '12 at 23:25
3  
-1 IMHO, "can be useful" is not true for this question. 99.99% total waste of time. 0.01% useful to web developer who also have plentiful experience on C++ development. –  9dan Jan 3 '12 at 4:09
2  
Skip the code reading and use the services of someone who has done that for you. developer.yahoo.com/yslow –  Chris Nava Jan 3 '12 at 5:38
4  
In my opinion, the car analogy is bad. Sure it helps to know "how a browser works", (in the sense of the concepts behind request-response, the DOM, etc,) the way it helps to know "how a car works" (in the sense of what is an internal combustion engine, the concepts of torque, friction, traction, etc.) But studying the source code of a browser corresponds to becoming intimately familiar with the molecular structure of the last damn screw in the car. That, does not help. –  Mike Nakis Jan 3 '12 at 10:40
show 3 more comments

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.

share|improve this answer
add comment

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.

If you want to do it, that is great! And I am sure that you can learn a lot, but I'm not sure it will be about web development. If you want to learn about that go study Javascript or the like. Read "Javascript the Good Parts" or learn about about how to use Monads in Javascript.

share|improve this answer
add comment

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).

How Browsers Work

share|improve this answer
add comment

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 a javascript toolkit: jquery or amplesdk, they're libraries that build over the standards and try to level browser discrepancies.

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)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.