Client-side data in Clojurescript

What solutions are currently best-developed for local-first development in Clojurescript? I’ve previously been somewhat turned off the use of cookies here on Clojureverse. I understand that IndexedDb is the major current solution in the browser world, but the only libary I found was cljs-indxdb and has not been updated for 5 years. What options are folks here using? Web Storage? Cookies? IndexedDB? Something else?

I use IndexedDb with https://localforage.github.io/localForage/#localforage (interop + http://funcool.github.io/promesa/latest/) or https://github.com/alandipert/storage-atom (cljs) for web storage. They both served me well.

1 Like

Awesome! When did you choose between those two and why?

For my tiny projects web storage is all I need but I had a project where I wanted to make a progressive web app and PWAs don’t work with web storage. I also played around and stored audio files in IDB. I don’t think this will work in web storage due to size limitations. You can have multiple stores in IDB. Rule of thumb is maybe: Bigger long-term project with a lot of (different) data -> IDB

Great clarification! Thanks!

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.