node-webkit is an app runtime based on Chromium
and node.js
. You can
write native apps in HTML and JavaScript with node-webkit. It also lets you
call Node.js modules directly from the DOM and enables a new way of writing
native applications with all Web technologies.
It's created and developed in the Intel Open Source Technology Center.
Introduction to node-webkit (slides)
Creating Desktop Applications With node-webkit
WebApp to DesktopApp with node-webkit (slides)
- Apps written in modern HTML5, CSS3, JS and WebGL.
- Complete support for Node.js APIs and all its third party modules.
- Good performance: Node and WebKit runs in the same thread: Function calls are made straightforward; objects are in the same heap and can just reference each other;
- Easy to package and distribute apps.
- Available on Linux, Mac OSX and Windows
Prebuilt binaries (v0.9.2 - Feb 20, 2014, based off of Node v0.11.9, Chrome 32.0.1700.107):
- Linux: 32bit / [64bit] (http://dl.node-webkit.org/v0.9.2/node-webkit-v0.9.2-linux-x64.tar.gz)
- Windows: win32
- Mac: 32bit, 10.7+
Prebuilt binaries (v0.10.0-rc1 - Jun 22, 2014, based off of Node v0.11.13, Chromium 35.0.1916.113):
- Linux: 32bit / [64bit] (http://dl.node-webkit.org/v0.10.0-rc1/node-webkit-v0.10.0-rc1-linux-x64.tar.gz)
- Windows: win32
- Mac: 32bit, 10.7+
If your native Node module works only with Node v0.10, then you should use node-webkit v0.8.x, which is also a maintained branch. More info
v0.8.6 release notes
Prebuilt binaries (v0.8.6 - Apr 18, 2014, based off of Node v0.10.22, Chrome 30.0.1599.66):
- Linux: 32bit / [64bit] (http://dl.node-webkit.org/v0.8.6/node-webkit-v0.8.6-linux-x64.tar.gz)
- Windows: win32
- Mac: 32bit, 10.7+
###Demos and real apps You may also be interested in our demos repository and the List of apps and companies using node-webkit.
Create index.html
:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using node.js <script>document.write(process.version)</script>.
</body>
</html>
Create package.json
:
{
"name": "nw-demo",
"main": "index.html"
}
Compress index.html
and package.json
into a zip archive called app.nw
:
$ zip app.nw index.html package.json
This should create a structure like this:
app.nw
|-- package.json
`-- index.html
Download the prebuilt binary for your platform and use it to open the
app.nw
file:
$ ./nw app.nw
Note: on Windows, you can drag the app.nw
to nw.exe
to open it.
For more information on how to write/package/run apps, see:
And our Wiki for much more.
We use the node-webkit group as our mailing list (use English only). Subscribe via node-webkit+subscribe@googlegroups.com. Issues are being tracked here on GitHub.
You can chat with us on IRC in the ##node-webkit channel on irc.freenode.net
node-webkit
's code in this repo uses the MIT license, see our LICENSE
file. To redistribute the binary, see How to package and distribute your apps
The work is being sponsored by: