parse-github-url icon indicating copy to clipboard operation
parse-github-url copied to clipboard

Make a desktop (Electron) app

Open pscanf opened this issue 4 years ago • 6 comments

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+Tab often breaks)
  • some (🙋) prefer to have dedicated apps

pscanf avatar Nov 05 '21 07:11 pscanf

Electron is fine but did you think about Tauri?

kakawait avatar Nov 09 '21 11:11 kakawait

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.

pscanf avatar Nov 09 '21 19:11 pscanf

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

kakawait avatar Nov 09 '21 19:11 kakawait

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/

pomdtr avatar Nov 21 '21 10:11 pomdtr

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.

pscanf avatar Nov 21 '21 16:11 pscanf

Thanks for the detailed answer! Interestingly, file handlers for excalidraw files works on my machine.

pomdtr avatar Nov 21 '21 18:11 pomdtr