- From: Glenn Maynard <glenn@zewt.org>
- Date: Thu, 7 Mar 2013 17:45:54 -0600
- To: ifette@google.com
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CABirCh8StFKF83J-=pQRhOGFnTh84Vg1X_PJGV_btQ1CUPc+Ew@mail.gmail.com>
On Wed, Mar 6, 2013 at 1:02 PM, Ian Fette (イアンフェッティ) <ifette@google.com>wrote: > I seem to recall we contemplated people writing libraries on top of IDB > from the beginning. I'm not sure why this is a bad thing. > Expecting libraries providing higher-level abstractions is fine, but it's bad if an API is inconvenient to use directly for common cases. For example, it's natural to expect people to use a game engine library wrapping Canvas to write a game, but Canvas itself is easy to use directly most of the time, for lots of use cases. The only API on the platform that I regularly use which I honestly find unreasonable to use without a wrapper of some kind is cookies, which is one of the worst APIs we've got. Other than that, I can't think of any web API that I actually need a wrapper for. This is very good, since it means everyone else reading my code already understands the APIs I'm using. We originally shipped "web sql" / sqlite, which was a familiar interface > for many and relatively easy to use, but had a sufficiently large API > surface area that no one felt they wanted to document the whole thing such > that we could have an inter-operable standard. (Yes, I'm simplifying a bit.) > (Not to get sidetracked on this, but this seems oversimplified to the point of being confusing. http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0025.html) As a result, we came up with an approach of "What are the fundamental > primitives that we need?", spec'd that out, and shipped it. We had > discussions at the time that we expected library authors to produce > abstraction layers that made IDB easier to use, as the "fundamental > primitives" approach was not necessarily intended to produce an API that > was as straightforward and easy to use as what we were trying to replace. > If that's now what is happening, that seems like a good thing, not a > failure. > It's fine to not try to be as simple to use as localStorage. That's not an attainable goal; it's not a database in any practical sense and never tried to be. But if we've added a new API to the platform that typical developers wouldn't want to use directly without any wrapper library, we've made an error. -- Glenn Maynard
Received on Thursday, 7 March 2013 23:46:21 UTC