Cross-platform Desktop Apps with NW.js

Post is based on the pfeilbr/nwjs-playground project.

NW.js Playground

Project to learn and experiment with NW.js.

NW.js enables the creation of cross platform desktop applications. Your UI is built with standard html, js, and css technologies. Access to the underlying desktop OS capabilites are provided by giving you access to node.js. You can use the Node.js core modules plus any of the 3rd party NPM modules;

Installing NW.js

Download and unpack nwjs app for your platform from

On OSX you’ll end up with /Applications/

Developing Your App

create index.html and package.json files

see nw.js quick-start for details

This app is a minimal example with an added app.js file for javascript. It’s sets the document.body to 'Hello There'.


Create alias in ~/.bash_profileto ease the use from terminal

# alias to nw
alias nw="/Applications/"


$ cd ~/projects/nwjs-playground
$ nw .

Packaging as app on OSX

  1. Create .nw file

    $ cd ~/projects/nwjs-playground
    $ zip -r ../${PWD##*/}.nw *

    .nw file will be created along side the project directory

  2. make copy of

    $ cp -r /Applications/ /Applications/
  3. Copy .nw file into bundle

    $ cp ../nwjs-playground.nw /Applications/