Writing a desktop app in JavaScript?

# Axel Rauschmayer (14 years ago)

I hope the following question is not too out of place on this mailing list:

JavaScript would really profit from a simple environment for writing desktop applications, especially for tasks that you would normally use shell scripts for. I like that such an environment would make it incredibly easy to add a cross-platform GUI.

Can anyone recommend a good environment for writing desktop apps in JavaScript and HTML5?

Requirements:

  • Read/write access to the local file system.
  • Download any file from the web (even from servers that don’t support CORS).
  • Ease of development: no extra build step before you can run your app.
  • Use HTML5 for the GUI.

So far, I’ve looked at:

  1. Adobe Air: needs the AIR runtime.
  2. Google Chrome: comes pretty close: you can get read access to all files in a folder that you “upload” via a form; you can switch off cross-site restrictions via a flag; you can use the FileSystem API to write files and copy them back, out of the sandbox later. There are extensions, but those require a build step which makes it painful to develop them.
  3. XULRunner: seems to require XUL.
  4. Firefox Add-On: not geared towards desktop apps.
  5. Node.js + GUI in a browser via a localhost URL: Cannot be packaged nicely, having to chose a port is problematic (usability, clashes).
  6. Titanium Desktop: ready yet?

(1) and (5) look like the most practical solutions that are currently available.

Any other suggestions or experiences with the above solutions?

# Dmitry A. Soshnikov (14 years ago)

Nevertheless, IMO this list is mostly for ES design. Practical JS application and tools better discuss in e.g. jsmentors list.

Dmitry.