Webkit.js - Who Needs A Browser?
Written by Mike James   
Wednesday, 05 February 2014

Is this JavaScript's ultimate step towards world domination? Webkit is a full strength industrial HTML rendering engine - and guess what so is webkit.js, only it's a JavaScript program. So who needs a browser?


OK, I admit that webkit.js isn't actually "industrial strength" at the moment, but it is another example of what you can do when you think outside the box. The method is straightforward - take the current WebKit code and feed it through the Emscripten C++/C to JavaScript compiler and the rest is a matter of making it work. In this case "the rest" is quite a lot of work. 

Currently there is a lot that isn't working and the code is more a proof of concept than anything practical. It can, however, render some tags onto a WebGL surface in Chrome. 

At the moment this is the work of a single programmer, Trevor Linton, so if you feel like a challenge visit the GitHub site to see if there is anything you can do. 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)

Notice the final goal - a JavaScript browser that runs under node.js. Yes you could in theory get away with a "browser" that was 100% JavaScript. There would be no HTML rendering engine just a JavaScript engine and the rest would be JavaScript code. 

Are there any advantages to this?

The most obvious one is that JavaScript finds it very easy to interwork with JavaScript, so perhaps the split between code that makes up the browser and code in the web page would vanish.

This is partly the case with the Firefox Gecko layout engine where an HTML like markup, XUL, provides the user interface, i.e the chrome, and XPCOM allows JavaScript access. But a pure JavaScript rendering engine could provide another level of "chrome-client" interaction. 

When you think about it, a JavaScript HTML layout engine makes a lot of sense. 


More Information


Related Articles

Asm.js Gets Faster

js2js The Revolution In JavaScript

Vanilla JS Used On More Sites Than jQuery

JQuery Ever More Popular

Getting Started With TypeScript

Java, ASM.js Or Native - Which Is Faster?       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.






or email your comment to: comments@i-programmer.info



EuroPython's 2022 Sessions Are Now Online

The talks presented at the 21st annual EuroPython conference are now available for free on YouTube. Topics ranged from Code and Tech to Social and Career advice.

Progress Telerik Improves MAUI And Blazor Support

Telerik has been updated with new components for Blazor, .NET MAUI, and WinForms, as well as support for .NET 7 and accessibility improvements.

More News

Last Updated ( Wednesday, 05 February 2014 )