The Possibilities for Fast JavaScript

DNA molecules. 3d rendering

There’s been lots of exciting news this summer about JavaScript performance improvements. We have Firefox’s TraceMonkey, Safari/WebKit’s SquirrelFish, and Google Chrome’s V8 all improving by leaps and bounds. On a sightly less exciting note, IE8 will contain 400 fewer memory leaks.

This is all very exciting for developers of highly-interactive web-apps, and it makes the Appcelerator style of client-side templating and interactivity even more responsive for the end-user. Though you may not see ray-tracers and bioinformatic apps being run in next year’s browsers, you’ll definitely see more processing and application state being moved from the server onto the client.

One rather surprising thing that speedy JavaScript enables is new languages inside your browser, like Objective-J or to some extent Appcelerator’s web expression mini-language. The surprising part about Objective-J is that it actually parses and interprets a full, real programming language when you open up a page. Seems like a lot of work, no? Regardless, the apps it generates are quite responsive.

Another project that could use a modern JavaScript engine to change how we develop web apps is something like Prophet, a distributed database that supports offline use because of its “self-healing conflict resolution”. Though it’s written in Perl, a port to JavaScript might now be feasible, enabling developers to construct applications that operate with all of their data management and business logic in the client.

There will of course be cool uses of JavaScript that we can’t even predict yet. Many thanks are due to the clever compiler hackers at Mozilla, Apple and Google!

by Mark Luffel