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.


raspberry pi books



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



JetBrains AI Assistant - A Welcome Time Saver

JetBrains AI Assistant saves developers up to eight hours per week and they appreciate its help.  77% of users feel more productive, 75% express that they are happier with their IDE experien [ ... ]

Call For Code 2024 Focuses On Generative AI

This year's Call for Code challenge has been launched with a theme of the use of generative AI technology for solutions that aim to improve equitable access to resources and opportunities for historic [ ... ]

More News

Last Updated ( Wednesday, 05 February 2014 )