title: What are the functional differences between NW.js, Brackets-Shell and Electron?
body: <p>Now that TideSDK is effectively dead, I've been looking into alternative 'wrappers' to run HTML/CSS/JS applications as stand-alone desktop applications. The three viable options I have run across so far, are <a href="https://github.com/nwjs/nw.js" rel="noreferrer">NW.js</a> (formerly node-webkit), <a href="https://github.com/adobe/brackets-shell" rel="noreferrer">brackets-shell</a>, and <a href="https://github.com/atom/electron/" rel="noreferrer">Electron</a> (formerly atom-shell).</p>
  
  <p>The problem is that there does not appear to be a sufficiently complete comparison between the three in terms of feature set, compatibility, etc. I'm hoping to turn this into a more-or-less canonical thread on the (objective) differences between the three, in particular regarding:</p>
  
  <ul>
  <li><strong>Platform support</strong>; operating systems, dependencies, etc.</li>
  <li><strong>Language feature support</strong>, as far as HTML5, CSS3 and JavaScript are concerned. Think things like <em>"does HTML5 video work, and if yes, what codecs are available?"</em></li>
  <li><strong>Non-standard extra features</strong>, such as tray icons, popup notifications, and OS-rendered menu bars.</li>
  <li><strong>Extensibility</strong>; eg. ability to 'plug in' native code, talk to Node.js, and so on.</li>
  <li><strong>Architecture</strong>; in particular the architectural differences that affect daily usage as a developer.</li>
  <li><strong>Debugging</strong>; included development tools, compatibility with commonly used tools like <code>node-inspector</code>, etc.</li>
  <li>... and so on.</li>
  </ul>
  
  <p>What are the objective, technical differences that matter when making a choice between them as an application developer?</p>