Quark taps JavaScript to build ‘native’ desktop apps

Tool combines the Electron framework and a shared JavaScript runtime to create lightweight “sketches” with native app capabilities

Quark taps JavaScript to build ‘native’ desktop apps
Thinkstock

A new open source tool dubbed Quark promises rapid creation of desktop applications with native capabilities while leveraging web development technologies. Built on top of GitHub’s Electron framework for cross-platform desktop apps, Quark is a general purpose tool that leverages JavaScript, CSS, and HTML.

Currently in a beta release stage, with a production release possible next month, Quark uses the Electron JavaScript runtime to produce native-like functionality. The project also includes the Quark development environment, an IDE that emits a single output file called a sketch that provides the capabilities of full-fledged Electron apps.

Thanks to a shared JavaScript runtime, Quark sketches consume only a few kilobytes instead of hundreds of megabytes for the typical Electron app. This is because the runtime accounts for about 99 percent of the weight of an Electron app. As a result, users potentially could have hundreds of sketches on their machine while consuming resources equivalent to a single app. 

Quark creator Nishkal Kashyap calls Quark a sketchbook for native desktop apps and not a desktop app builder. Other features of Quark include:

  • Access to Node.js and Electron renderer process APIs.
  • Sketches are compatible with Mac, Windows, and Linux, with applications able to be written once and run anywhere.
  • Out-of-the-box support is offered for TypeScript, JavaScript, React.js, and Vue.js.
  • The IDE offers a layout intended to maximize space for the editor while leaving enough room to browse and access full context of a project or folder.
  • The Monaco code editor provides IntelliSense, validation, and support for web development technologies. This is the same editor used in Microsoft’s Visual Studio Code.
  • Use of a virtual file system means all code and files created within the IDE are easily shared among projects.
  • The webpack module bundler is used to build projects. The Babel JavaScript compiler is supported, as well.

Where to download Quark

You can download Quark from quarkjs.io.