September 29, 2008     Google Chrome and Web Applications (Ojan Vafai)

-goals of the Chrome project: stability, performance, and easier web development

Stability
- goal was to build a stable/reliable browser for use with web apps
- browser crash with web apps is more catastrophic
- browser crash should become comparable to BSOD in rarity
- multiprocess: one browser process + rendering processes for each tab and plugin
- everything within a tab is contained to that tab
- plugins have their own processes & are isolated
- really takes advantage of multi-core machines
- chrome has its own task manager where you can kill the individual processes
- no direct JavaScript access to multi-process capabilities *(Bri’s opinion: thank God)
- the Browser Process: network requests, cookies, browser UI (tabs, address bar, etc.)
- basically no third-party code allowed here, for increased stability & security

Performance
- “browsers are holding back the performance of web applications”
- startup time improved
- memory usage: each process uses a minimum amount, but smartly allocated among processes
- does DNS pre-fetching

Page Rendering
- modified version of WebKit
- WebCore (HTML/CSS)
- JavaScriptCore was replaced by V8 engine written by GOOG from scratch
- engine partly written in JavaScript itself

Enabling Web Development
- didn’t want to introduce yet another rendering engine
- some differences from Safari:
- uses Windows-style text rendering and form controls
- no @font-face, no HTML5 storage
- bugs :( Please file them! “Want to fix bugs before you have to hack around them.”
- dev build at dev.chromium.org/getting-involved/dev-channel
- hacking around: navigator.userAgent.match(/WebKit | Chrome | Safari/);
- Developer tools:
- V8 debugger (currently text-based, GUI is coming)
- WebKit Web Inspector (check it out in the WebKit nightly builds)
- put in a thing to kill infinite alerts (”don’t generate additional alerts”) *(Bri says: yay!)

What’s Next
- Mac and Linux ports “pretty far along”
- raytracing, cryptography, etc. in the browser; web apps as first-class citizens
- more stability, better performance, more improvements to web development

Open source project home: http://code.google.com/chromium

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment