我们有大约 20 个 Lotus Notes 数据库应用程序为用户提供离线功能。用户可以离线使用应用程序(未连接到网络)。当他们重新上线时,数据会自动同步。
我正在寻找替代技术平台来实现此类离线功能。
以下是应用程序的基本功能/特征:
我的第一个想法是使用 CouchDB 作为后端,尽管我承认我没有使用它的经验。不过,我确实知道它是由前 Iris 员工 Damien Katz 创建的,他在设计它时受到了 Lotus Notes 的许多优点的启发。它的优势之一是复制——它是为了在分布式架构中使用而设计的。
它也会让人感觉有些熟悉,因为它是一个以文档为中心的数据库,就像 Notes 一样,而不是 RDBMS。也就是说,我无法谈论可与 CouchDB 一起使用的前端。
我赞同 Ken 的建议,特别是考虑到 CouchDb 也拥有强大的移动业务。至于 Couch 的前端,您可以选择。它适用于大多数事物,并且新的 API 不断涌现。
顺便说一句,我最近使用 HTML5 的离线功能和 Safari 中的 SQLite 数据库进行了一些有趣的工作。我只会推荐这种东西用于简单的应用程序,但有趣的是这个东西实际上有多强大。
微软针对这种情况有大量的解决方案 - 这并不奇怪,因为好心的奥齐先生几年前就已经过去了。
我使用 SQL Express 和同步框架来构建与您描述的应用程序类似的应用程序 - http://msdn.microsoft.com/en-us/sync/bb736753.
这个东西最适合 MS 开发工具 - 我们使用 C# 和 winforms - 不过,如果你真的愿意,也可以使用 Java 或 Delphi。