ipfs-desktop
ipfs-desktop copied to clipboard
Switch from Electron to Tauri
Tauri 1.0 was released a couple of days ago, and I was wondering if you guys have heard of it or looked at it.
It allows to create small, high performance desktop apps by leveraging the default os-renderer instead of bundling a whole Chrome/Chromium browser in the web application.
It's not a drop-in replacement for Electron, but I think there are a lot of benefits for a switch. Especially if you look at the roadmap and see that the web applications will be able to build for Android and iOS in the near feature. Compilation to wasm is also planned as well as direct go binding.
https://tauri.app/
I have looked into using Tauri with ipfs-desktop and created a starter app for it, but we haven't looked into this much further: https://github.com/SgtPooki/ipfs-desktop-tauri
@SgtPooki what is your conclusion so far? Would that be viable?
Somehow Google wasn't able to find this repo, thanks for the work so far on this topic :)
@RubenKelevra I personally think ~~tauri~~ wails would be a great option to explore more. It was fairly easy to set up, and the ~~tauri~~ wails maintainers were very quick to respond on the one issue I opened. I would love to get some help there, though it would be a side/bonus project for sure, as I can't necessarily prioritize that.
~~https://github.com/SgtPooki/ipfs-desktop-tauri~~ https://github.com/SgtPooki/ipfs-desktop-wails currently doesn't communicate with webui yet, so a lot of functionality is broken, but the app loads and it's ready for further development and debugging.
@RubenKelevra I just sent you an invite to be a collaborator on https://github.com/SgtPooki/ipfs-desktop-tauri & https://github.com/SgtPooki/ipfs-desktop-wails so you can feel free to hack on those with me
Thanks, appreciated!
ugh. i'm so sorry, I misremembered. I had put more work into https://github.com/SgtPooki/ipfs-desktop-wails, and that's the one I was talking about in my comment above. going to edit that comment.
Ah okay 😂
Have some personal life things to finish before I can work on side project again :)
So don't expect me to join in the next week or so :)
Not a problem. No rush at all, I probably won't be able to spend much more time on it for a while either. To answer your question again, this time with full remembrance: I think we should prioritize ipfs-desktop on wails. With wails (in go) we get the benefit of a kubo-desktop
, where kubo is booted up by the desktop app itself, programmatically, rather than as a separate daemon with a need for an RPC client. Just booting up ipfs-desktop-wails is crazy fast, and I imagine it being much more lightweight than what ipfs-desktop currently is.
For ipfs-desktop-tauri (iroh-desktop
) we get the benefit of running the rust implementation of ipfs in memory.. etc..
The problem I see with both of those, is that those teams (kubo & iroh) don't have dedicated front-end/GUI devs to help, and we aren't experts in rust/go. However, I believe it would be a much better DX with a much more performant UX.
Closing this in favor of the older https://github.com/ipfs/ipfs-desktop/issues/867