【发布时间】:2011-03-30 14:23:12
【问题描述】:
我正在寻找类似 GWT 对象的数据库(在浏览器中)。它必须在没有 HTML5 或 Gears(或任何浏览器插件)的情况下工作。它不必具备数据库可以做的所有功能,但最重要的功能是
- 自动索引,在多个列上
- 某种 API 或语言来执行(有限的)查询
它可能有点类似于Taffy DB,但它必须具有自动索引,并且它应该提供 GWT API。我希望,如果它重用 GWT 库中的代码,它的下载量会比 Taffy 更小。
(也许我应该补充一点,我不需要永久存储。没关系,如果用户点击重新加载时必须重新加载/重新生成数据。)
【问题讨论】:
-
您能否详细说明您为什么需要这个?如果您只想节省一些到服务器的往返行程,GWT 2.1 中的 ReqeuestFactory 应该为您执行此操作(AFAIK) - 它处理缓存、更新等。
-
@Igor:我在客户端有一个数据模型。该模型不是很大,但我需要通过不同的(组合)键经常查询它。一种解决方案是根本不使用索引,并且总是遍历所有数据——这是非常低效的。另一种解决方案是创建大量 HashMap,并在模型更改时手动更新它们。但我真正想要的是一个数据结构或系统,它可以自动更新索引,并让我从不同方面查询模型。顺便说一句,我在网上找不到太多关于 RequestFactory 的信息。
-
我现在明白了(虽然我不知道如何解决这个问题:))。你做过基准测试吗? IE6 可能会像往常一样糟糕,但现代浏览器现在拥有高效的 JS 引擎。至于 RequestFactory(如果它仍然被称为) - 它在 GWT 的 Google IO 2010 会话之一中进行了描述,示例应该在 GWT 的 SVN(自行车棚)的 GWT 2.1 分支中。
-
@chris_I - 我的一个项目有类似的要求,我通过使用 Hashmap 作为我的索引机制来实现它。为我想要索引的每列制作 1 个哈希图。实现起来并不难,在所有浏览器上运行速度都足够快,并且不需要任何库。关于更新模型,我是动态创建的;不知道为什么你认为它会维护繁重。
-
鉴于 Taffy 可以满足您的需求,我建议使用 JSNI 为 Taffy 编写 GWT 包装器。
标签: java javascript gwt