Badass JavaScript

A showcase of awesome JavaScript that pushes the boundaries of what's possible on the web, by @devongovett.

WebKit.js: It’s happening for real, with Emscripten’s help

January 16th 2014

Remember that April fools post I wrote a couple years ago on WebKit.js? That someone had ported the entire WebKit rendering engine to JavaScript so you could browse while you browse? It was going to solve all our compatibility woes. That one was vaporware, but now it’s actually happening for real.  Trevor Linton is porting WebKit to JavaScript via Emscripten.  The real WebKit.js is here.

It’s an early build and there’s no demo yet, but you can go see the massive output file it produced, meaning it actually does compile.  The goals of the project are

  • Produce a renderer in pure JavaScript that supports rendering to WebGL/Canvas contexts.
  • Develop frameworks for image/webpage capturing and automated web testing (similar to PhantomJS).
  • Develop a framework for prototyping CSS filters, HTML elements and attributes.
  • Experimental harness for pure javascript rendering performance.
  • Develop a javascript based browser in nodejs (just for fun).

Those are interesting goals. I have no idea how realistic or practical they are, but its a great showcase of the power of Emscripten to compile just about anything these days.

Currently a lot is not working yet, but its interesting to see the vaporware of two years ago become reality today.  Go check it out on Github, and try your hand at getting various WebKit features working.