Skip to content

Repository files navigation

node-shell

node-shell lets you create cross-platform native GUI apps based on atom-shell, straight out of the box from NodeJS, with no dependency or build phase required.

Try it yourself right now

$ npm install node-shell
$ node
> require('node-shell')(function(err, api) { var win = new api.BrowserWindow({}).loadUrl('http://google.com');
});

This works out of the box on Windows, OSX and Linux with vanilla nodeJS installations.

ScreenShot

Implementation details

When npm install is invoked, node-shell downloads a packaged release of atom-shell for the current platform and replaces the default app with a wrapper that exposes the atom-shell API through (json)RPC over UNIX sockets.

Using the node-shell library, node apps can create rich native apps powered by atom-shell, without the need to build or rebuild anything (including native addons).

When spawning a new shell from your module, the node-shell library spawns an atom-shell running the wrapper app and opens an RPC channel with it to let you interact with the API.

 +-------------------------+ +-----------------------+
| node | | atom-shell |
+-------------------------- +-----------------------+
+--------+ +------------+ +---------+ +----------+
| | +-+ node-shell | <--------> | wrapper +--+ atom |
| | | +------------+ RPC | app | | api |
| your +-+ +---------+ +----+-----+
| app.js | | +------------+ +--------+---+
| | +-+ other deps | | | | | +------------+ +---+--+ +---+--+ | | ... | winA | | winB | ...
+--------+ +------+ +------+

About

Atom Shell bindings for nodeJS

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages