Originally I planned to publish PG packaged as a Chrome app. I spent a lot of time working around Chrome App API security limitations and complicated way of accessing the file system.
Then I found node-webkit. I had PG working in a couple of hours. Using Node.js fs module for file access is almost trivial. In general I try to keep core JS code not tied to Node.js or anything else. PG uses Node.js part of node-webkit only for file access, menus and clipboard. Everything else happens in a browser (embedded Chromium in this case). It would be easy to port PG to another JS-based platform, like atom shell.
That certainly does. I've been toying with the idea of creating a node-webkit app, but have been having serious problems on deciding what should be in node, and what should be in browser-js, from an architectural point of view.
From the sounds of things, you've worked around this by making it a web app that just so happens to be in a node-webkit container.
Comments
I'd be very interested in a writeup on how you got to grips with node-webkit, if you were so inclined?
This looks like a very polished application - well done!
Originally I planned to publish PG packaged as a Chrome app. I spent a lot of time working around Chrome App API security limitations and complicated way of accessing the file system.
Then I found node-webkit. I had PG working in a couple of hours. Using Node.js fs module for file access is almost trivial. In general I try to keep core JS code not tied to Node.js or anything else. PG uses Node.js part of node-webkit only for file access, menus and clipboard. Everything else happens in a browser (embedded Chromium in this case). It would be easy to port PG to another JS-based platform, like atom shell.
Hope this helps.
That certainly does. I've been toying with the idea of creating a node-webkit app, but have been having serious problems on deciding what should be in node, and what should be in browser-js, from an architectural point of view.
From the sounds of things, you've worked around this by making it a web app that just so happens to be in a node-webkit container.
Cheers for the insight!
Yes, that's it. Evertyhing is in browser JS.