Quark taps JavaScript to build ‘native’ desktop apps
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.