updated doc/ ...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-08-31 17:37:06 +03:00
parent 98a46abf87
commit 69f2d8942c
3 changed files with 38 additions and 80 deletions

View File

@ -1,39 +1,39 @@
Basic build Makefile
----------- --------
Default desktop electron app build (modifying the electron dist in-place): For make help to work make requires: bash, sed, grep/fgrep and printf to
be available in the path, run this to double check:
make $ make check-help
To check the full list of dependencies run:
$ make check
Build desktop electron app with full repack: The make file is largely self-documented so run this for more info:
(export BUILD_MODE=repack && make) $ make help
Build package files for web:
make web
Sharp and other native modules for nw/electron Sharp and other native modules for nw/electron
---------------------------------------------- ----------------------------------------------
To build sharp for a specific version of node and nwjs:
cd ./node_modules/sharp/
nw-gyp rebuild --target=0.17.4 --arch=x64
And for electron (done by make): And for electron (done by make):
electron-rebuild electron-rebuild
To build sharp for a specific version of node and nwjs (outdated):
Chromium flicker issue (nw) cd ./node_modules/sharp/
--------------------------- nw-gyp rebuild --target=0.17.4 --arch=x64
Chromium flicker issue (nw/outdated)
------------------------------------
The UI sometimes flickers -- at first blanks out to black then re-draws, The UI sometimes flickers -- at first blanks out to black then re-draws,
this is most noticeable on white or gray backgrounds. this is most noticeable on white or gray backgrounds.
@ -47,8 +47,8 @@ This will fix the issue temporarily, but we still need a better solution.
Remote debugging via DevTools (nw) Remote debugging via DevTools (nw/outdated)
---------------------------------- -------------------------------------------
Set this in package.json: Set this in package.json:
"chromium-args": "--remote-debugging-port=9222", "chromium-args": "--remote-debugging-port=9222",
@ -57,8 +57,8 @@ Then open http://localhost:9222 in chrome.
Speedup loading of app (nw) Speedup loading of app (nw/outdated)
--------------------------- ------------------------------------
One of the ways to speed up the load times when packed is to store Node's One of the ways to speed up the load times when packed is to store Node's
modules ./node_modules in a separate location, outside of the app.zip modules ./node_modules in a separate location, outside of the app.zip
@ -73,8 +73,7 @@ To enable require(..) to find them:
var path = require('path') var path = require('path')
require('app-module-path') require('app-module-path')
.addPath(path.dirname(process.execPath) .addPath(path.dirname(process.execPath)
+ '/node_modules/') + '/node_modules/') }
}

View File

@ -3,8 +3,8 @@ Modules and RequireJS
===================== =====================
Most of the system is loaded via browser context RequireJS loader, in Most of the system is loaded via browser context RequireJS loader, in
node/nw context node-specific stuff is loaded with a second node-enabled node/electron/nw context node-specific stuff is loaded with a second
RequireJS instance or node require. node-enabled RequireJS instance or node require.
The ideal solution would be to use one require that sees both the browser The ideal solution would be to use one require that sees both the browser
and node contexts, the problem is exactly in this, the browser requirejs and node contexts, the problem is exactly in this, the browser requirejs
@ -15,8 +15,8 @@ Thus we are forced to use both mode requirejs loaders which may be
confusing at times. confusing at times.
Different loaders: Different loaders
------------------ -----------------
There are two RequireJS instances present in most contexts in nw.js There are two RequireJS instances present in most contexts in nw.js
within the define(..) runner: within the define(..) runner:
@ -30,57 +30,10 @@ within the define(..) runner:
This is needed as the above require(..) overloads the This is needed as the above require(..) overloads the
node native loader. node native loader.
The future: The future
----------- ----------
This seems a bit confusing, so at least the naming convention should be This seems a bit confusing, so at least the naming convention should be
revised. revised.
Runtimes
========
ImageGrid.Viewer can be run in a number of runtimes on multiple platforms.
Browser
-------
npm install
index.html
Node.js
-------
npm install
node ig.js --help
Electron
--------
npm install
npm start
NW.js
-----
change "main" to "index.html" in package.json
npm install
nw .
Cordova/PhoneGap
----------------
XXX

View File

@ -30,17 +30,23 @@ Basic project layout:
widgets/ - widget-specific css... widgets/ - widget-specific css...
images/ - system images... images/ - system images...
data/ - data and assets...
doc/ - various documentation... doc/ - various documentation...
PROJECT-LAYOUT - this file PROJECT-LAYOUT - this file
BUILD-NOTES - notes on the build process BUILD-NOTES - notes on the build process
NOTES - general notes... NOTES - general notes...
HACKS - list of hacks around external
"features"...
experiments/ - standalone experiments... experiments/ - standalone experiments...
package.json - npm/nw configuration... package.json - npm/nw configuration...
ig.js - CLI entry point... electron.html - electron-specific html...
index.html - Browser/NW entry point...
ui.js - GUI root setup... ui.js - GUI root setup...
ig.js - CLI entry point...
index.html - Browser/NW entry point...
e.js - electron entry point...