/appjs

SDK on top of nodejs to build desktop apps using HTML5/CSS/JS

Primary LanguageJavaScriptMIT LicenseMIT

AppJS

AppJS is an SDK to develop desktop applications using Node.js melded with Chromium. With AppJS you can develop desktop tools and applications using the same libraries and knowledge used to build websites. You get all the following in one package:

  • JS, HTML5, CSS, SVG, WebGL provided by Chromium
  • mature http/https servers and client APIs - Node
  • filesystem, dns, cryptography, subprocesses, OS APIs - Node
  • sandboxed code execution environements virtual machines - Node
  • tools for exposing native C++ bindings to JavaScript- Node

30 Second Quickstart

The below packages include everything needed to get started with AppJS, including Node.js, all dependencies, binaries, and a launcher ready to go out of the box. 1.) Extract to a folder. 2.) Double click on launch. 3.) Hello World.

AppJS 0.0.18 Distributables:

npm install AppJS can be now be installed via npm.

npm install appjs

AppJS requires 32bit Node on OS X. It works on 64bit OS X but Node must be 32bit. We're working on solving this, but it's a limitation of Chrome itself so it's a work in progress.

(Windows requires MSVC++ 2010 runtimes)

One Minute Usage Overview

var app = module.exports = require('appjs');

app.serveFilesFrom(__dirname + '/content');

var window = app.createWindow({
  width  : 640,
  height : 460,
  icons  : __dirname + '/content/icons'
});

window.on('create', function(){
  console.log("Window Created");
  window.frame.show();
  window.frame.center();
});

window.on('ready', function(){
  console.log("Window Ready");
  window.require = require;
  window.process = process;
  window.module = module;
  window.addEventListener('keydown', function(e){
    if (e.keyIdentifier === 'F12') {
      window.frame.openDevTools();
    }
  });
});

window.on('close', function(){
  console.log("Window Closed");
});

Shared Contexts

chrome-in-node-repl

DOM Event Listener in Node

License

The MIT License

Copyright (c) 2012 The AppJS Authors

See the LICENSE file for details.