Writing Non-Web Applications in JavaScript (1st part)