This is a great overview, and I learned a lot. (For instance I didn’t know about storage buckets.)
The performance data is especially useful. It would be great to see data from other browsers than Chrome, though. Last I looked into it, Safari and Firefox both have faster IndexedDB implementations than Chrome. (David Fahlander has found similar results.)
It’s still kind of a mess, isn’t it? I had high hopes for WASM+SQLite a few months ago, but after reading more about it I backed away slowly. The biggest headache isn’t even mentioned in this article: if you want low-latency I/O with OPFS you have to open an exclusive connection to the file, meaning other browser tabs are locked out.
This is a great overview, and I learned a lot. (For instance I didn’t know about storage buckets.)
The performance data is especially useful. It would be great to see data from other browsers than Chrome, though. Last I looked into it, Safari and Firefox both have faster IndexedDB implementations than Chrome. (David Fahlander has found similar results.)
It’s still kind of a mess, isn’t it? I had high hopes for WASM+SQLite a few months ago, but after reading more about it I backed away slowly. The biggest headache isn’t even mentioned in this article: if you want low-latency I/O with OPFS you have to open an exclusive connection to the file, meaning other browser tabs are locked out.
would a SharedWorker fix that?
Yes it would and ideally should be the solution if you expect users to open multiple instances of your app (within the same domain).
the synchronous OPFS API is not available to SharedWorker contexts, unfortunately :(
ah nvm I’m incorrect then, I got excited as I’m moving a lot of functionality to SharedWorkers currently.
It’s also iny experience really slow.