> IndexedDB is much simpler to spec out, much simpler to build multiple implementations of, and much simpler to maintain and improve over time.
Agreed. It's not easier to use though - almost everyone ends up bundling 10s of KBs of code just to wrap around it and make it useful. That doesn't seem great to me.
I completely agree, IndexedDB sucks to use on it's own. But that is the direction most web-platform APIs are going, and if I'm being honest, it's working out pretty well for most people involved.
Using bare IndexedDB sucks, but it's flexible enough to support a pretty wide range of needs. Using bare Fetch sucks in some cases (it's a hell of a lot easier than xmlhttprequest!), but most people create small wrappers in their applications to do things like add headers, auth information, and simplify JSON parsing and error handling. Using bare canvas APIs sucks, but with a small wrapper allows pretty powerful abstractions with very little code.
It has the unfortunate side effect of a lot of code written and shipped to users to simplify APIs and make common use cases easier, but if that downside allows the APIs to be as flexible and powerful as they are, then I'm personally all for it.
Agreed. It's not easier to use though - almost everyone ends up bundling 10s of KBs of code just to wrap around it and make it useful. That doesn't seem great to me.