Hi,<div><br></div><div>I would like to build a desktop application in which user interface and core process (Erlang) would be separated.  I also need it to be as much portable as possible.  The idea would be to base the user interface on WebKit so it can be easily customized, and a lot of people know how to build web interfaces already.</div>
<div><br></div><div>The different solutions I have found so far:</div><div><ul><li>use <a href="http://code.google.com/p/erlycomet/">Mochiweb/Erlycomet</a> on the Erlang side, and <a href="http://dojotoolkit.org/">dojo/cometd</a> (aka "Ajax server side push").</li>
<ul><li>Pros: very generic, based on JSON, runs in any browser</li><li>Cons: not efficient at all, can't build a real desktop application.<a href="http://www.freedesktop.org/wiki/Software/dbus?ref=darwinports.com"></a></li>
</ul><li><a href="http://www.freedesktop.org/wiki/Software/dbus?ref=darwinports.com">D-Bus</a>:</li><ul><li>Pros: Cross-platform, supported by Qt and there is also <a href="http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge">javascript bindings</a> (named <span class="Apple-style-span" style="font-family: Helvetica; "><a href="http://sandbox.movial.com/gitweb?p=browser-dbus-bridge.git;a=blob;f=jscorebus/jscorebus.c">JSCoreBus</a>)</span>.</li>
<li>Cons: the <a href="http://sourceforge.net/projects/dbus-erlang/">Erlang implementation</a> seems a bit old / not maintained.</li></ul><li>Leverage Erlang built-in communications system and make the WebKit a C erlang port itself.</li>
<ul><li>Pros: Almost no work no the Erlang node side.</li><li>Cons: no WebKit plugin for setting up an Erlang port in Javascript exists yet. Not as generic as the two other options.</li></ul></ul></div><div><div>I have ruled out the first idea (Erlycomet), because of the poor performance I got for the initial tests ; this is really something for the web, not the desktop.  D-Bus seems alright, but is perhaps overkill, and lacks support…  So, I am seriously considering the third option, for its simplicity.</div>
<div><br></div><div>Do you have other suggestions for a IPC bus that would make the link between Erlang and Webkit?</div><div>I would also be happy to learn about your experiences on creating desktop applications with Erlang.</div>
<div><br></div><div><br></div><div>Best,</div><div>Camille</div><div><br></div></div>