什么是适用于Web应用程序的脱机/联机功能的良好数据库

时间:2017-07-11 18:57:57

标签: database angular offlineapps

我的团队正在为企业级别的房地产开发评估软件。此应用程序有一些特殊要求。

应用程序应该可以在联机和脱机环境中运行。如果用户正在工作并且突然应用程序脱机,则用户应该能够脱机工作。当应用程序连接到互联网时,所有离线工作都存储在本地数据库中,并在下次同步到中央数据库。此应用程序有许多用户,所有用户都可以同时使用相同的信息。

用户本地数据库必须在其他用户正在工作或不工作时进行更新。如果其他用户正在工作,则应在本地数据库中提供所有更新的信息,以确保用户下线时所有信息都会更新。

问题是如何开发这种应用程序?有没有标准的方法来实现这个目标?是否有任何标准或非标准模式来构建这种软件?

我们计划将Angular 2 Framework用于前端开发。如果有人有这方面的经验并且可以就我们应该使用的技术堆栈提出建议,那将非常感激。

1 个答案:

答案 0 :(得分:3)

好吧,您可以将pouchdb用作客户端数据库,并使用每个使用CouchDB同步协议的数据库。我已将此堆栈与Angular 2应用程序一起使用。 (NoSQL的)

我还与Kinto(PostgreSQL)和Kinto.js合作过。它不像PouchDB那样用户友好,但我认为自从我使用它以来,文档已经有所改进。

最后,我了解Meteor / Mongo / GroundDB。 Meteor是非常强大的,它是一个完全反应的堆栈,它可以很好地处理你对angular和rxjs的异步选项。但是想想如果你没有使用rxjs或反应后端,那么它是最难学的。我花了很长时间才使我的编码风格适应数据流的反应行为。