AppJS: Using JavaScript for multiplatform dev

Last year I started using AppJS to develop my Windows automation.

  • It’s free
  • It’s a framework around Node.JS that allows you to compose a desktop app using HTML and JavaScript
  • You create the GUI in HTML
  • You write handler functions in JavaScript
  • It’s a 30MB download
  • It comes with some JavaScript engine included. Don’t know which, see the docs. Google V8 ? maybe.
  • You don’t need admin rights or an installer on Windows to start appJS after its download and unzip. It’s just an EXE file that looks for its content html and interprets it. Makes it ideal for workplace settings without admin rights.
  • JavaScript is one of the most powerful languages, on par with Python and Scheme. Development is kind of a bitch though, reload and test after every change is highly recommended.

The key tech here is the included Node.JS library. It’s a library that adds desktop acccess functions to JavaScript. Check the docs here.

So while normally, JavaScript in your browser runs in a sandbox and has no way to access your filesystem or your clipboard, Node.JS intentionally breaks that limitation – allowing you to use all the power of JavaScript to write your automation.

What is especially fascinating is that frameworks similar to appJS exist for Android, et.al. – so you can write a HTML+JS “app” that can be ported rather easily from Windows to Mac to Android to your own web server.

For German language speakers, a great documentation for HTML+CSS+JS design is selfHTML. Unfortunately there does not seem to be a current english translation. So, learn German. It’s a great expressive language.

P.S.: Here‘s a little painting example done with HTML and JavaScript. Paint inside the rectangle with the mouse. Download the page and put it into the appJS content directory to use it as a starting point for your appJS experiments.

Update Apr 4, 2016: Found a nice tutorial:

How to build a desktop application with AppJS

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s