Related topics
  • ,
  • ,
  • ,

Chrome: A new force for web applications?

Promise through the froth

Review Google's new web browser has provoked an orgy of comment almost rivalling that for a new trinket from Apple. There's plenty of froth, but for once the interest is justified.

This is not just a browser: it is a vehicle for delivering web applications, and it significantly changes the balance of power between those trying to build modern client platforms. It is time to abandon the term Rich Internet Applications, or RIAs, as if this were a distinct category that is not quite mainstream.

This is a battle over how most of the web and a large slice of business applications will be built in future.

In some ways the goals of Google Chrome parallel those of Adobe Systems with AIR. Both companies are bringing web applications to the desktop. Adobe's approach was to create a new runtime which wraps Flash, the WebKit HTML rendering engine, and the Sqlite database engine to allow web applications to run outside the browser.

Google also took WebKit and Sqlite (part of its Gears extension library), but its approach to desktop integration is beautiful in its simplicity. Chrome lets you create desktop shortcuts to web pages. In addition, when you open a web page from one of these shortcuts, it opens without any browser furniture.

This really is a significant feature, because a well-designed and responsive web application will be indistinguishable from any other desktop application. The name Chrome is in part a reference to it - in software development, the term describes the surrounding user interface of an application.

At the press conference announcing Chrome, Google's vice president of product management Sundar Pichai said: "We used to call it content, not Chrome - that's what we should focus on." The name Chrome is an ironic one, that means as little chrome as possible.

Saviour of the universe?

What about the Flash element? Web developers turn to Flash, or some alternative such as Microsoft's Silverlight browser plug-in, for several reasons, including rich graphical effects, video and multimedia, and a fast just-in-time compiled virtual machine. Google cannot provide all this in Chrome, yet this seems to be headed in that direction. Chrome ticks the box for a fast virtual machine, with the V8 JavaScript engine. Google VA technical lead Lars Bak described three key features of V8.

The first is a native code compiler. Although JavaScript is a dynamic language, which is more challenging for a compiler, Bak explained how V8 "monitors the program as you run it and creates common structures of objects inside the virtual machine," enabling optimisation.

Next, Bak talked about inline caching. Inlining is a way of flattening program structure to speed up function calls.

The third feature is memory management. According to Bak, V8 is designed to scale, so that Javascript web applications can grow much bigger while still performing well. As an aside, it is worth noting Mozilla's claims that its own forthcoming Javascript virtual machine, TraceMonkey, is better than V8 on some tests.

This will be part of a future Firefox release. Microsoft, on the other hand, seems to have little interest in JIT-compiled Javascript. JScript is faster in IE8, but not close to V8 or TraceMonkey. Real-world performance is about interaction with the browser's document object model (DOM) as well as pure code.

Sponsored: 5 critical considerations for enterprise cloud backup