DEPRECATED: This project is unmaintained for a long time, and is not compatible with Dart 2.x and newer.
node-webkit.dart is a Dart package to build node-webkit apps.
To see how the node-webkit's API looks like in Dart, check out the sample application here. Just download the dart_examples.nw archive, and open it with node-webkit.
$ nw dart_examples.nw
This package provides the following libraries:
- nw_gui.dart: A wrapper to the nw_gui module
- path.dart: A wrapper to the path module
- node_filesystem.dart: A wrapper to the fs module
- dart_filesystem.dart: A complement to the node-filesystem library, wich provides the FileSystemEntity,File,DirectoryandLinkclasses, so you can access the filesystem just as you would do withdart:io
- os.dart: A wrapper to the OS module
- nodejs_module_wrapper.dart: A helper library for wrapping nodejs's modules
- Create a Dart package (you can follow the instructions here)
- Add node-webkit.dart as a dependency in pubspec.yamlfile
name: my_app
 dependencies:
   node_webkit: any
- Update dependencies:
$ pub get
- Create a package.jsonfile inwebfolder
{
  "name": "nw-demo",
  "main": "index.html"
}
- Create a index.htmlfile inwebfolder
<!DOCTYPE html>
<html>
  <head>
    <title>node-webkit.dart example</title>
  </head>
  
  <body>
    <script type="application/dart" src="index.dart"></script>
    <script src="packages/node_webkit/node_webkit.js"></script>
    <script src="packages/browser/dart.js"></script>
    <p id="msg"></p>
  </body>
</html>- And finally, create a index.dartfile inwebfolder
import 'dart:html';
import 'package:node_webkit/nw_gui.dart' as gui;
main() {
  querySelector("#msg").text = "Hello, ${getUsername()}!";
}
String getUsername() {
  return gui.App.argv.length > 0 ? gui.App.argv[0] : "Unknown";
}
- You can compile your app with dart2js
$ dart2js -o web/index.dart.js web/index.dart
$ nw web/ User