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).
- 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.8.1 - Nov 22, 2013):
- Linux: 32bit / [64bit] (https://s3.amazonaws.com/node-webkit/v0.8.1/node-webkit-v0.8.1-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. Subscribe via [email protected]. 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