Hi all,
Thanks for your continuing work on NW.js! I had a suggestion that could be potentially interesting but I'm not sure of the technical feasibility of it.
Pretty much the only complaint we ever hear about NW.js is the file size overhead is quite large - maybe 80mb or so depending on how it's compressed and which features are included. Of course, this is due to the fact it contains the entire Chromium browser engine. Subsequent updates must also ship this again if it is to update to the latest browser engine. I didn't think the file size overhead mattered much since most people have lots of storage and fast connections these days, but it still seems to get mentioned.
I'm not sure what the situation is for Linux.
I'm not sure what the feasibility is of integrating node.js into these webviews. However these days, at least for us, it may not be too big a problem if node is not included. The web platform has continued to advance and now covers things like File System Access in Chrome which we can use instead of node for file system operations. The number of things we have to use the node aspect for is shrinking, and could probably be polyfilled in other ways.
So there may be an opportunity for a modernised desktop-web hybrid framework that uses the system webviews, which could have various benefits:
- Smaller file size to distribute
- System webviews automatically kept up-to-date (no need to distribute updated browser engines)
- Polyfill missing browser APIs (e.g. File System Access)
- Polyfill desktop-specific extras (e.g. controlling the window, accessing command line...)
- Possibly simpler technology stack (especially if no node)
It would essentially be a system webview + bundled resources + polyfills. It could offer some interesting advantages to other tools like Electron too. I'm not sure how feasible this would be though, or how many existing NW.js users would consider switching. Perhaps it could be an extra distribution alternative, or maybe just a separately distributed product. I'd definitely be interested in using this with Construct 3 (
www.construct.net), our web-based game development software that uses NW.js to export web games to desktop platforms.
Any thoughts on this?
Ashley