Browser Scripting and Google Go

The latest era in the so-called “Browser Wars” seems to be focused largely on JavaScript execution speed. With more and more websites using client-side scripting to enhance functionality (Google Docs, Google Maps, Facebook etc.), the faster these scripts can run the better.

Currently the most popular web browsers are Mozilla Firefox, Google Chrome, Microsoft Internet Explorer, Opera and Apple Safari. In JavaScript execution speed benchmarks, currently Chrome is at the top, with Safari, Firefox following closely for second and third and Opera and finally IE losing out with times over double that of the others. But what does this actually mean for the average user? Some websites are evolving past the traditional request-response model and employing a much more real-time and dynamic feel. So called web applications make heavy use of technologies such as AJAX and use client-side scripting to allow everything to run as seamlessly as possible for the user. Web applications like Google Docs and Gmail would not be possible in their current form without heavy use of client-side scripting.

The most common language currently for this is JavaScript (JS). Initially, JS was just used for simple interactions with the user (e.g. displaying prompts, verifying forms before submission to the server etc.). At this stage, execution time was not really an important point, but with increasing reliance on JS, many advances have been made to improve it. The staggering improvement in speed is only just being realised by coders, with some amazing projects currently being developed. Some of these include a pure JS H.264 decoder (allowing H.264 videos to be decoded in real-time at 30 fps), a JS JVM (a Java Virtual Machine, allowing Java application compiled to byte-code to be executed) and even a full x86 system emulator that is currently capable of running Linux and Windows with persistent storage inside a browser using HTML5.

The incredible power of computers these days means that things like this are now possible and browser developers are keen to be at the top performance-wise. Google is obviously seeing the potentials with the introduction of their brand-new scripting language “Go”. It will be interesting to see how far this technology has reached in one year’s time.