Archive for the 'architecture' Category

20
Oct
09

Web Geek’s Guide to Google Chrome

Web Geek’s Guide to Google Chrome

A Safari Online Book describing in as non-technical terms as possible the feature set of Google Chrome and why it’s conception is so important.
Note: You have to access this either on campus or using the Queen’s proxy.

Interesting sections:

Advertisements
30
Sep
09

WebKit

WebKit

WebKit is the rendering engine used for Google Chrome. It was chosen for its speed compared to other engines, more details and information can be found at their blog.

30
Sep
09

Google Developers YouTube Channel

Google Developers Channel

This channel is the home for videos of interest to Google developers. It contains interviews, screencasts, and anything that the Google Code folk think is entertaining and important:

Some useful videos related to Chrome:

  • Exploring Chrome Internals (~1 hour)
    • great general overview of the implementation of most of Chrome’s subsystems presented at the Google I/O conference

      Learn about Google Chrome’s multi-process architecture and sandboxing technology. This talk will provide an overview of the processes, threads, and IPC involved with getting pixels on the screen in a system where the WebKit rendering engine is denied, via the sandbox, from having direct access to your computer.

  • Chromium’s Multi-Process Architecture (~30 mins)
    • explains the way different processes are spawned & managed, as well as how they all communicate

      Chromium’s multi-process architecture is a radical departure from other web browsers. There are many advantages to this design, but with it comes complexity. Darin Fisher gives an overview of how the processes communicate and then dives into specific examples like how optimized scrolling works. This video is a “must see” for any Chromium developer.

  • The Organization and Abstraction Layers of Chromium’s Code (~10 mins)
    • great high level overview of the architecture of Chrome, in particular how it relates to WebKit

      Chromium’s multi-process architecture and tight integration with WebKit necessitate a heavily layered approach. In this talk, Brett Wilson introduced each of the layers and explains how they fit together.

  • Chromium UI Development (~15 mins)
    • overview

      Ben Goodger presents a brief introduction of the Chromium views system used to build UI on Windows. This talk covers the basics of using views, as well as some details about how it works under the hood.

  • WebKit for Chromium Developers (~30 mins)
    • overview

      WebKit is at the heart of Chromium, Safari, and many other web browsers. Because we all share WebKit, the procedure for its development is a bit different than the rest of Chromium. Dimitri Glazkov gives a thorough introduction to WebKit for Chromium developers including productivity tips.

  • Chromium’s Network Stack (~25 mins)
    • overview

      Recently, Chromium’s network stack was completely re-written. Wan-Teh Chang and Eric Roman present the reasons for the re-write, an overview of the code’s components, and walk through some common network stack operations.

30
Sep
09

Chromium Discussion Group

Chromium Discussion Group

A discussion group for the open-source Chromium project. Members can discuss ideas for features and talk about the architecture and design; not focused on engineering or the code itself.

30
Sep
09

Reliability of Google Chrome

Reliability of Google Chrome

A case study analyzing the reliability of the Google Chrome architecture compared to other popular web browsers.

30
Sep
09

Browser Security: Lessons from Google Chrome

Browser Security: Lessons from Google Chrome

This paper out of Google and Berkley describes some of the techniques that the Chrome browser incorporates for its security architecture.

30
Sep
09

Google Chome’s Architecture – Simeon’s Tech Notes

Google Chrome’s Architecture – Tab-based Processes and a JavaScript Virtual Machine

Simeon Lobo briefly describes how Chrome’s separate-process tabs contribute to security and performance. Also, a few key points of V8 (Chrome’s JavaScript Virtual Machine) are explained, including JavaScript interpretation and garbage collection.