I'm making web apps/clients in the browser, servers using node.js and desktop "native" apps using nw.js. All in vanilla JavaScript, and I love it. If you need additional functionality, there's always a module for it (npmjs.com)
The interesting part is maybe that most apps look like this:
<html><body><canvas id="canvas"></body></html>
And the rest is JavaScript!It does seem a bit stupid to load the browser just for the canvas element though, so if someone know a better solution, please post!