Hi MK,

I very much share your interests and curiosities here and actually don't have an answer on whether it's been tried before.

One of the few things I am imagining is that given the security-focused nature of the Bitcoin Core software, any vulnerabilities in the way NPM handles the dependencies of the Electron app would be a very high priority (see https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/

In NodeJS-land, my sense is that there is a "move fast and break things" mentality that may have seeped into some practices that may be considered standard. I have seen some recent developments over the past few years to address these kinds of issues such as npm-audit (as of Node v6+) but I would recommend doing some thorough research on this front to make sure there is a secure dependency management solution in place for such a GUI.

Another comment I'd make is that if we consider the GUI as a layer that is separate from the protocol layer, this mailing list may not be the best place to fully discuss this. However I think if anyone here who has been around longer can contribute info on past attempts at this, it could be quite productive. This could technically exist as an independent client, but I guess there's a conversation on whether this new Electron UI would ever replace the Qt UI, but since it doesn't exist yet it could be far too early for that. 

Thanks,






On Sat, Nov 23, 2019, 2:17 PM M.K. Safi via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
I’d like to try to rebuild Bitcoin Core GUI using the JavaScript Electron framework. My goal is to get a real world understanding of the pros and cons of moving from Qt to Electron.

Before I start, I‘d like to know if this has been tried before or if there are ongoing efforts in this direction by anyone?

I spent sometime looking into how to implement this. One approach could be for Electron to drive the UI by running bitcoind and communicating with it through RPC. But I don’t know if such implementation can achieve feature-parity with the Qt implementation. Qt has the advantage of direct access to Bitcoin Core code.

Anyways, I just wanted to share these ideas before going further with them, so please let me know if you have any information on the above!
--
Sent from my iPhone
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev