gristlabs / grist-core

Grist is the evolution of spreadsheets.
https://www.getgrist.com/
Apache License 2.0
7.2k stars 318 forks source link

Standalone Desktop Application #239

Open saierd opened 2 years ago

saierd commented 2 years ago

I really like Grist's concept and especially how the database is just a sqlite file, which can be downloaded and used independently from Grist.

In my mind, a very nice continuation of this concept would be to offer a standalone desktop application that can open a single Grist file locally without a server. Of course, such an application could not offer any of the collaboration or multi-user features. I think there are a lot of cases, where those are not needed, though, like all of the people that currently use Excel files as (really bad) databases.

Are you interested in such use cases?

I am not very familiar with the architecture of the Grist server, but the basic strategy would probably be to start a local server and package the web frontend in an Electron app or similar. Do you see any hard blockers that would prevent this from working?

paulfitz commented 2 years ago

Hi @saierd, yes we are interested, and in fact Grist started life as an Electron app. There was a related discussion recently at https://community.getgrist.com/t/packaging-grist-as-an-electron-app/1233. I don't see any hard blockers. A wrinkle is our use of python as a formula language - when Grist was an Electron app, we needed to distribute a python sandbox with it to make it fully standalone.

Are you interested in working on this? We have old, rusty build material we could release if it were helpful.

stan-donarise commented 2 years ago

Hi, @saierd, @paulflitz, I'm very interested in this, so I was able to pack Grist as Electron app for windows in my fork.

paulfitz commented 2 years ago

@stan-donarise I pushed a branch with some old electron material here https://github.com/gristlabs/grist-core/compare/main...paulfitz:grist-core:electron-scraps for what it is worth. It doesn't deal with packaging at all, that stuff is harder to extract from the old cruft it is entangled with.

paulfitz commented 1 year ago

Updates: @stan-donarise made a Windows build in https://github.com/stan-donarise/grist-core-electron/releases/tag/0.0.0 some time ago. I've been experimenting recently too at https://github.com/paulfitz/grist-electron, with Linux and Windows builds (also Mac, but not signed+notarized or on M1 yet, so not yet useful). I've borrowed heavily on @stan-donarise's work (e.g. using resolve-tspaths simplifies things a lot).