Tauri is a toolkit that helps developers make applications for the major desktop platforms - using virtually any frontend framework in existence. The core is built with Rust and the CLI leverages Node.js making Tauri a genuinely polyglot approach to creating and maintaining great apps.
Tauri uses rust as the backend, and the existing code is all js, the migration cost is unacceptable. Even if it can use the function of the external embedded bin, it still does not implement all the electron api
If I recall correctly Tauri uses system webview - supporting this on multiple systems/versions would be a nightmare.
It seems someone is doing related work.
Interesting, if one person on their own can convert vscode then maybe it's not too hard to migrate. He didn't post any code yet though.
3 months have passed, but it doesn’t seem to be really available
I've been looking at Tauri for the last couple of days. Migrating seems doable but it's a big project.
Firstly all electron-specific code needs to be removed and replaced with Tauri equivalents, where available. At this point we might lose spellchecking and maybe pdf export, though the latter should be possible to implement from scratch.
Then all js code needs to be converted to run inside webview. If my understanding is correct this means replacing native modules with tauri equivalents (possibly requires writing some things from scratch). Might require webpack or something like this.
It may not be needed if there's a way to run nodejs backend, not 100% clear on that.
Finally, there are build process changes but this should be relatively simple compared to everything else.
This all sounds interesting, if anyone wants to start I may be interested in helping out but on my own I don't feel I know js well enough to untangle Joplin's code.
What are your objectives for migrating to Tauri? I see at
GitHub - tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend. that an Android implementation has not been started yet, so migrating now would be premature. But any migration would be a sizeable task, considering all the available Joplin add-ons. So, a clear set of objectives would help in the discussion.
This is irrelevant as Electron is only used for the desktop version. Mobile uses react-native which is a completely unrelated technology. CLI is based on something else, not sure what exactly but it's neither Electron nor RN.
And to be clear -- no one is doing anything on this.
I've actually been keeping my eye on a brand new project (that is current extremely immature and lacks basic functionality) that aims to be a Notion replacement called app-flowy which is written in Rust but uses Flutter for its framework.
IMHO, just fun is not worth the cost, especially the cost of migration - it may even be harder than redo
I would personally prefer a rewrite in flutter but Tauri would be the next best thing and maybe easier by reusing code potentially, and Tauri is planning on allowing compiling on mobile and desktop like flutter.
The problem with Joplin current codebase on mobile is working with the file system which is janky and OS update can break the file system interaction. And using Tauri on desktop will make it lighter and faster.