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.
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.
Wouldnt it be possible to extract the files you need and sort of "repackage" it for linux?
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)
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.
Thank you for the thorough reply :)
I really like the comments on HN, they are very often really interesting and you actually often learn something new that actually matters.
I have seen many people porting such apps, like there is aur package for notion, figma
1 reply →
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
How is that even possible? I expect you have to go out of your way to make it platform dependent, are you sure?
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.