/node-webkit

Call all Node.js modules directly from DOM and enable a new way of writing applications with all Web technologies.

Primary LanguageC++OtherNOASSERTION

Introduction

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)

Features

  • 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

Downloads

v0.9.2 release notes

Prebuilt binaries (v0.9.2 - Feb 20, 2014, based off of Node v0.11.9, Chrome 32.0.1700.107):

v0.10.0-rc1 release notes

Prebuilt binaries (v0.10.0-rc1 - Jun 22, 2014, based off of Node v0.11.13, Chromium 35.0.1916.113):

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):

Looking for older versions?

###Demos and real apps You may also be interested in our demos repository and the List of apps and companies using node-webkit.

Quick Start

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.

Documents

For more information on how to write/package/run apps, see:

And our Wiki for much more.

Community

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

License

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

Sponsors

The work is being sponsored by: