This project explores features of current Chromium-based UI libraries, namely those of nw.js and Electron.
A sample native application -- a lightweight image viewer -- is implemented using HTML, CSS and JavaScript, leveraging APIs provided by these frameworks. The app can be run using either nw.js or Electron, as there is a very thin compatibility facade that allows writing cross-toolkit code.
The main goal here is to learn how to develop a native app using Web technology; nw.js/Electron comparison is a side product.
- Fullscreen viewing
- Keyboard controls
- Mouse magnifier
- Panning
- Grid-based directory viewing
- Keyboard controls
- Image file info
- EXIF
- Filesystem traversal/tree
- Clipboard support
- Image operations
- File operations (rename, delete, ...)
- Geometry adjustments (rotation, mirroring)
- Pixel adjustments (brightness, desaturation, colorization, blur, ...)
- Saving
- Clone this project
npm install electron-prebuilt
if you want to run it using Electron./run-electron.sh [path-to-image-file]
- if this fails, adjust your path in the file above
npm install nw
if you want to run it using nw.js./run-nw.sh [path-to-image-file]
- if this fails, adjust your path in the file above
There is a limited ES6 support in Electron, but almost none in nw.js. Once nw.js 0.13 (with recent V8) is out, the code will be re-written in ES6.
No, two of them.