【问题标题】:Which client-side relational persistent storage options are a good choice for a new project?哪些客户端关系持久存储选项是新项目的不错选择?
【发布时间】:2011-07-12 05:36:51
【问题描述】:

鉴于 WebSQL 不再被开发并且 IndexedDB 尚未普及,我们作为客户端关系存储开发人员的选择是什么?现在最好不要使用这些功能中的任何一个吗?在我的场景中,我最初正在构建一个支持 WebKit(Chrome 和 Safari)的浏览器插件,因此可以接受(尚未)在 Firefox 和 IE 中采用的技术。我意识到我可以在 Chrome 和 Safari 中使用 WebSQL,但是由于 W3C 规范没有得到维护,因此无法知道对它的支持会在这些浏览器中保留多长时间。

【问题讨论】:

    标签: javascript html browser webkit gecko


    【解决方案1】:

    您可以使用 localStorage 变量来存储 json 字符串以保留所有数据,或者将其分配给仍在 localStorage 中的多个变量。 Read more about it.

    【讨论】:

    • localStorage 作为键值存储绝对是一个可行的选择。不幸的是,除此之外它没有做任何事情
    • 好吧,如果你需要更多,那就去 IndexedDB :)
    【解决方案2】:

    我首先想你肯定是弄错了——websql 报废了?但是yes I see it has gone

    我认为显而易见的答案是寻找一个抽象底层存储引擎的 API。如果有一些东西可以让我编写 SQL 并选择故障转移到服务器端数据库,那就太好了 - 但是对于 websql 的问题,症结似乎是 SQL 支持。

    persistence.js 起到了一定的作用。 WSPL 似乎没有取得重大进展。

    为 indexedDB 构建 SQL 层看起来是一项不可能很快完成的艰巨任务。

    看起来很多其他人都在尝试解决类似的问题。例如1

    【讨论】:

      【解决方案3】:

      如果它是 Firefox 扩展,那么您可以use an interface that looks very similar to WebSQL。 SQLite 组件将在 Firefox 中保留很长时间,因为它用于许多其他东西,包括(我相信)IndexedDB 实现,只是不允许您从网页访问它。

      您说得对,没有办法知道对 WebSQL 的支持会在 WebKit 中保留多长时间,但 Apple 之前曾表示,即使在实现标准版本之后,他们仍将继续支持许多带有 -webkit- 前缀的 CSS 属性(特别是如果最终标准与其前缀版本不同),因为他们已经看到了如此广泛的使用。我认为 WebSQL 将以类似的方式处理,如果支持被删除,您至少会收到相当多的警告。

      歌剧我不确定。

      IE 永远不会包含 SQLite,因此它永远不会包含 WebSQL。如果你无论如何都在做一个插件,你总是可以像 Gears 那样将 SQLite 构建为它的一部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-05
        • 2011-04-27
        • 2011-05-15
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多