[webkit-dev] WebKit on the server side

Sergiy Temnikov Sergiy.Temnikov at 4d.com
Tue Nov 17 06:16:06 PST 2009


We are working on a new application server that uses WebKit for server-side JavaScript execution (and remote JavaScript debugging too). However, we can not use WebKit as is because we  can not link with any of the GUI libraries and WebKit does. Instead, we compile just the JavaScriptCore part for JS execution. So my question is, are there any plans in the future to refactor or redesign WebKit to be more suitable for server environment? Would this, in your opinion, interest the WebKit community?
For example, the first thing we had to deal with is the JS debugger. Debugger interface is defined in JavaScriptCore but its implementation lives in WebCore. Most of the debugger's implementation is abstract except for the part which sends event notifications to pages and frames objects which are GUI dependent and so can not be used in a faceless server application. So we basically copied the source of the existing debugger, commented out GUI related calls and added some stuff to transform it into a debugger which can be controlled remotely over the network. I would be happy to contribute to the WebKit project to add a layer of abstraction to the existing debugger implementation to cut its dependence on GUI and move it to JavaScriptCore from WebCore's inspector.
Another example would be the XMLHttpRequest class implementation which exists in WebCore. In many indirect ways it depends on GUI even though it should not. As such, we can not simply expose it in our JavaScript environment on a faceless server. There are many other classes like it.
All in all, so far it has been great fun to make the WebKit code run on the server side. I just wanted to raise awareness of the needs of server-side developers.

-Sergiy Temnikov,
Wakanda Server Architect
Wakanda Software

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20091117/17c0382c/attachment.html>

More information about the webkit-dev mailing list