Make a desktop (Electron) app
Considerations:
- some Web APIs used by Excalideck (e.g. the File System Access API) are (at least for now) only available on Chrome/Edge. Therefore it becomes difficult or outright impossible to provide the same user experience across browsers
- in general, Electron apps allow for a deeper/better integration with the OS
- ~Chrome apps are deprecated~ (installed PWAs are not though, my misunderstanding), and in general they don't work so well (e.g.
Cmd+Taboften breaks) - some (🙋) prefer to have dedicated apps
Electron is fine but did you think about Tauri?
I did not know about Tauri actually, thanks for linking to it! Very interesting project. I wrote Electron just because I've used it and I'm familiar with it, but I'm definitely open to alternatives.
Stick to electron if you're familiar with. In addition I've no real XP with tauri so I can't tell you more.
But glad to know I've learnt you a new project haha
Are you sure a pwa is not enough on desktop ?
Here is an article of the excalidraw team on why they are deprecating electron : https://blog.excalidraw.com/deprecating-excalidraw-electron/
Hey @pomdtr , I think in general the PWA is a good-enough alternative. However, I think the desktop app would still have some advantages:
- installed PWAs require Chrome to be installed, and also require Chrome to be open (could be a nuisance for people using other browsers)
- installed PWAs make Chrome behave a bit strangely, at least in my experience (to give an example: if you have a Chrome window open with some tabs, and a PWA open and focused, if you go to another app - say VS Code - and open a link from that app, the link opens in a new Chrome window, instead of the Chrome with some tabs open)
- https://web.dev/file-handling/ has not launched yet (might not be too far off though), so you can't make the PWA open Excalideck files (though that might anyway be a problem, since now Excalideck saves pdf files, and you definitely don't want to make Excalideck the default app for all pdf files)
- as mentioned above, in general Electron apps allow for a deeper/better integration with the OS, though actually for now I don't foresee what deeper integration could be desirable
- as mentioned above, some (🙋) just prefer to have dedicated apps 🙂
- being on app stores could give Excalideck more visibility / could provide a revenue stream
Overall, considering the difficulties of making and publishing a desktop app (also mentioned in the article you linked), I think that indeed for the time being the PWA will remain the good-enough solution, so this issue might get bumped into the "Future" milestone. I'd prefer to explore the VS Code extension ( #24 ) as an alternative distribution channel.
Thanks for the detailed answer! Interestingly, file handlers for excalidraw files works on my machine.