Skip to content

ondras/iv

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

iv

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.

Features, planned and implemented

  • 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

Running

  1. Clone this project
  2. npm install electron-prebuilt if you want to run it using Electron
  3. ./run-electron.sh [path-to-image-file]
  4. if this fails, adjust your path in the file above
  5. npm install nw if you want to run it using nw.js
  6. ./run-nw.sh [path-to-image-file]
  7. if this fails, adjust your path in the file above

FAQ

No ES6/ES2015?

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.

Only one FAQ question?

No, two of them.