3 ms·
I've been really interested in the local-first landscape lately but embedding SQLite seems really heavy-weight compared to using the browser's built-in storage
by chrysoprace 2y ago
I've been really interested in the local-first landscape lately but embedding SQLite seems really heavy-weight compared to using the browser's built-in storage APIs (in particular, IndexedDB) and it seems to be what most of the main open source libraries do. I'm interested to see a open-source solution (with sync) which provides an SQLite-like API but for the browser's native storage rather than trying to embed another executable in Web Assembly.
- jamesgpearce 2y agoDisclaimer: I'm the author. But you might be interested in TinyBase.
- chrysoprace 2y agoThanks I'll give it a look! I guess I really was fishing for someone to make a recommendation and I see you have a lot of backend persistence options which I'm very excited about. Another issue I have with a lot of the new local first products is that they tend to lock you into a particular database type on the backend, so this is refreshing.
- arunaugustine 2y agoTinyBase looks very promising! Is there a doc or reference you can guide me to, for using TinyBase with Preact.js instead of React?
- smallerfish 2y agoNice work. Does it take time to hydrate tinybase from indexeddb, or do you mount it directly? What are your thoughts about search over the store? Hydrate a separate lunr index? And finally has anybody tried using your syncing over webrtc?
- gavmor 2y agoSQL is, arguably, more ergonomic than IndexedDB APIs, and may take up less RAM/CPU when, eg, using a `WHERE` clause rather than an `if() ` filter.
- chrysoprace 2y agoIt's definitely more ergonomic, but the browser doesn't have an SQL API where as it does have IndexedDB. I'm hoping for tooling that makes IndexedDB more ergonomic while having a local-first syncing solution. Dexie gives an ORM-like experience but their syncing solution is not FOSS.
- deleted 2y ago[deleted]