{"action":"created","issue":{"url":"https://api.github.com/repos/arthurhsu/rdb/issues/16","repository_url":"https://api.github.com/repos/arthurhsu/rdb","labels_url":"https://api.github.com/repos/arthurhsu/rdb/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/arthurhsu/rdb/issues/16/comments","events_url":"https://api.github.com/repos/arthurhsu/rdb/issues/16/events","html_url":"https://github.com/arthurhsu/rdb/issues/16","id":318458124,"number":16,"title":"Web RDB API as a Layered API?","user":{"login":"js-choi","id":43677,"avatar_url":"https://avatars3.githubusercontent.com/u/43677?v=4","gravatar_id":"","url":"https://api.github.com/users/js-choi","html_url":"https://github.com/js-choi","followers_url":"https://api.github.com/users/js-choi/followers","following_url":"https://api.github.com/users/js-choi/following{/other_user}","gists_url":"https://api.github.com/users/js-choi/gists{/gist_id}","starred_url":"https://api.github.com/users/js-choi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/js-choi/subscriptions","organizations_url":"https://api.github.com/users/js-choi/orgs","repos_url":"https://api.github.com/users/js-choi/repos","events_url":"https://api.github.com/users/js-choi/events{/privacy}","received_events_url":"https://api.github.com/users/js-choi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-04-27T15:43:15Z","updated_at":"2018-04-27T20:27:03Z","closed_at":null,"author_association":"NONE","body":"The new [Layered API proposal](https://github.com/drufball/layered-apis) is trying to enable standardization of web features that are high level, yet which are entirely implemented in terms of lower-level features. This allows browsers to replace polyfill functionality with their own native implementation whenever the latter is available. Perhaps the first API using this Layered API is the new [Async Local Storage proposal](https://github.com/domenic/async-local-storage), which is layered on top of IndexedDB and other APIs available to general developers.\r\n\r\nWork on the Web RDB specification is currently dormant, probably due to [difficulty securing support within the Chromium team by its author](https://github.com/google/lovefield/issues/229#issuecomment-355650411), who is also a Google employee. But it may be possible to garner more support for Web RDB by reframing it as a layered API. Web RDB would have to be entirely implementable by a polyfill using IndexedDB—just like Async Local Storage. But any browser with native support for Web RDB could replace it with an implementation targeting its own internal SQL engine.\r\n\r\nReframing Web RDB as a layered API may make it more palatable to implementers. Are there plans to doing such a thing?"},"comment":{"url":"https://api.github.com/repos/arthurhsu/rdb/issues/comments/385085029","html_url":"https://github.com/arthurhsu/rdb/issues/16#issuecomment-385085029","issue_url":"https://api.github.com/repos/arthurhsu/rdb/issues/16","id":385085029,"user":{"login":"js-choi","id":43677,"avatar_url":"https://avatars3.githubusercontent.com/u/43677?v=4","gravatar_id":"","url":"https://api.github.com/users/js-choi","html_url":"https://github.com/js-choi","followers_url":"https://api.github.com/users/js-choi/followers","following_url":"https://api.github.com/users/js-choi/following{/other_user}","gists_url":"https://api.github.com/users/js-choi/gists{/gist_id}","starred_url":"https://api.github.com/users/js-choi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/js-choi/subscriptions","organizations_url":"https://api.github.com/users/js-choi/orgs","repos_url":"https://api.github.com/users/js-choi/repos","events_url":"https://api.github.com/users/js-choi/events{/privacy}","received_events_url":"https://api.github.com/users/js-choi/received_events","type":"User","site_admin":false},"created_at":"2018-04-27T20:27:03Z","updated_at":"2018-04-27T20:27:03Z","author_association":"NONE","body":"@freshp86: \r\nThat’s great. It’s encouraging that you thought of the same thing when you first heard of layered APIs.\r\n\r\n> Arthur can probably comment in more detail, but my first observation is that, an RDB implementation purely based on existing Web APIs (a requirement for L-APIs) is not possible, unless a few more primitives are exposed by the platform…[Lovefield] has some limitations as described here and here, that RDB is aiming to overcome.\r\n\r\nIndeed. If RDB was reframed as a layered API, then that missing low-level functionality would have to first be standardized as an isolated proposal, perhaps with use cases based on Lovefield’s limitations. The first step would be to write a strawman for such missing low-level functionality. Because of the smaller scope of such a proposal, browsers may find it more palatable than they have for RDB in the past."}}
{"actor":{"display_login":"js-choi"}}