Comment by __jonas
>From my understanding the main difference between electron and other WebView Containers (besides built-in APIs) is that electron runs your nodejs code in the same process as your browser code.
That is not correct: https://www.electronjs.org/docs/latest/tutorial/process-mode...
> So there is no cross-process communication, true synchronous communication between browser and nodejs code, ability to communicate without copying memory and without serialization, etc
From the Electrton docs:
> Arguments will be serialized with the Structured Clone Algorithm, just like window.postMessage, so prototype chains will not be included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will throw an exception.
(https://www.electronjs.org/docs/latest/api/ipc-renderer#ipcr...)
But yes they do build pretty heavily on Chromium, so swapping it out for a system WebView would probably not be possible.
Within a renderer you can access NodeJS APIs directly. The main process shouldn’t be used for any significant computation, as it will block GPU paints and cross-process synchronisation.
The other main difference is Electron bundles a known set of APIs, given the known Chromium version. There’s such a huge variance of supported features across the embedded web views.