Hacker News new | past | comments | ask | show | jobs | submit login
Node-Chimera: headless Webkit in Node.js (github.com/deanmao)
72 points by albertzeyer on March 18, 2013 | hide | past | favorite | 9 comments



This looks nice with a few exception:

1) Still no Qt version / WebKit features enabler

One of the problems using the "port" version from Qt is that both projects stuck with that version until Qt releases updates.

This means that you cannot enable/disable WebKit features (i.e.: navigation timing API) as you build your own Chimera/PhantomJS and this has been one of the most sought after feature request in PhantomJS project.

2) Memory usage (?)

PhantomJS uses about 40-50MB for a simple website like Twitter.com main login page (we're not talking about the whole Twitter.com but just the login page). Not sure if this is because it is piggy backing on Qt or something else?

3) [Varies] Code-style wise

It takes a while to get used to PhantomJS/CasperJS coding style (based on Promises for CasperJS) and it looks like it is due to the nature of the interaction of the browser and the programmable API/tooling.


The Qt port of webkit is also really unstable. Quite a surprising number of web sites cause PhantomJS to segfault.


Haven't stumbled upon any of those issues (and we test PJS to a number of different websites ranging from Sharepoint-type, Drupal, Wordpress, etc).


Btw., along the lines, I just figured out that via Qt Platform Abstraction (former Qt Lighthouse project) (since Qt 4.8), you can have a real headless Qt WebKit now. (Earlier, it always was some headless X-server in between - much heavier.)

Some links:

http://stackoverflow.com/questions/9213215/how-to-use-qwebpa...

Esp. this PhantomJS commit is interesting:

https://github.com/ariya/phantomjs/commit/c78ae190a9


I thought PhantomJS 1.5 got rid of the X dependency ...


Either that or 1.6, but yeah, they did.


Since this embeds QtWebKit which uses JavaScriptCore, does that mean that JavaScript in the browser will be running in a completely different environment? i.e., JavaScriptCore instead of node (V8).

If so: yo dawg


Great stuff! Me and a pen-tester friend may use this to build online scanning tools. We were going to use phantom, but this should be easier.


Hope they add native binaries for windows soon




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: