Something that seems like a potential way of simplifying the codebase while building on what's already there is porting the Linux, macOS, Windows builds over to using ReactNative instead of React HTML with Electron. I don't fully understand why Joplin uses Electron on desktop when ReactNative (which Joplin already uses on Android and iOS) does, in fact, support building directly to macOS and Windows, as well as Linux (though ReactGTK seems a lot less developed). Yes, this would eliminate the ability to apply CSS theming to the user interface, but it would make Joplin dependent on one fewer framework in the long run, which should help improve the stability and maintainability of the project.

That said, should the maintainers decide to expand Joplin's use of ReactNative, it would indubitably be a substantial long-term undertaking, one which would probably be easier to begin if the immediate priority remains improving the documentation and organization of the existing code. Does that make sense?

1 Like