

Code Reuse in Google Chrome Browser - bdfh42
http://www.catonmat.net/blog/code-reuse-in-google-chrome-browser/

======
babul
Thanks for the breakdown of the libraries. Very useful and interesting. (Also
saves me time/energy this weekend.)

~~~
pkrumins
You're welcome!

------
metatronscube
Its quite refreshing to see good Software Engineering practices coming out of
a large company like Google.

~~~
kajecounterhack
Well, they're google. "Do no evil," which tends to lead me to believe the
opposite "do all good," which applies to their coding too ;)

Though they _aren't_ doing all good according to some...I give them the
benefit of a doubt.

------
meat-eater
Code reuse cuts the development time and brings down the defect rate. So it
should be a good thing. Quite the opposite approach taken by the Mozilla guys.
Those guys alsmost built their own everything (rendering engine, foundation
classes, etc). There are a lot of open source libs there also, but i guess
google wanted to focus on the minimal UI design and the per process
architecture.

~~~
gaius
There was a reason for that (clue: how many platforms does Mozilla support?
How many does Chrome).

~~~
wheels
The hard parts of writing a web browser are the rendering engine, the
javascript engine, the transport layer and security code. The rest,
comparatively, is trivial and there are cross-platform OSS libs for all of
those.

etal got it right though -- Mozilla began as an OSS project in 1998, long
before many of those libs were available.

------
soundsop
An opposing view: [http://nion.modprobe.de/blog/archives/651-Google-chrome-
code...](http://nion.modprobe.de/blog/archives/651-Google-chrome-code-reuse-
nightmare.html)

~~~
hhm
I disagree with such opposing view. 25 libraries would be a nightmare to get
in just the right version, and specifically compiling a program with many
libraries that aren't already compiled in Windows is usually a nightmare (at
least with VC++, which I guess is what these guys are using together with
Scons?), to compile the software. The idea that Chrome would automatically
update in case one of such libraries changed, is probably not very convenient
either as such updates could also break the code (because of changes in the
interfaces for example, or in the behavior of libraries... while it's not very
probable for each library, it becomes quite probable when you have 20+
libraries).

------
pmorici
"Free Python library that implements SSL 3.0, TLS 1.0, and TLS 1.1. TLS"

Is Chrome using Python somehow or did they just pullout the underlying C code
from the module?

~~~
pkrumins
It does not use Python directly. Python is used for testing various parts of
Chrome, such as code coverage, dependencies, measures page load times,
compares generated html, etc.

