If the Electron app is pure JS with no native extensions it can be doable. However, many Electron apps contain platform-specific js code, since features for stuff like Dock on Mac and Taskbar icons on Windows differ. Electron apps like Notion also contain native extensions - compiled C/C++/Objective-C code that are platform specific. For example in Notion, we use sqlite via better-sqlite3 (potentially replaceable since it’s open source, but will need more work than “just” repackaging js), but we also write our own native support libraries to use OS-specific APIs for microphone recording in meeting notes feature.
> Could it be possible to make the relatively new AI meeting notes feature to work?
> Right now I get the following error when I click the "start transcribing" button:
Error occurred in handler for 'notion:get-media-access-status': TypeError: s.systemPreferences.getMediaAccessStatus is not a function
at /usr/lib/notion-app/app.asar/.webpack/main/index.js:2:631015
at WebContents.<anonymous> (node:electron/js2c/browser_init:2:87444)
at WebContents.emit (node:events:524:28)
Not my area of expertise so I could be wrong but Electron apps just use Chromium underneath (which already works on linux), so in theory it should be easier to get them running on linux than a native Windows app
Electron is basically just a GUI framework. The application itself can be arbitrarily complicated, nothing stops you from building a Java + .NET + C++&COM app that includes three Windows Services that interfaces with the Electron runtime just for UI.
I have no idea how electron apps look "internally" but it doesnt sound too bad.
Sort of like you can unzip .deb files and use them somewhere else, if what i heard was correct (never tried it myself)