javascript - 如何使我的 CRUD 应用程序离线工作?

标签 javascript crud

我有一个简单的 CRUD 应用程序,后端用 Flask 编写,数据存储是 Mongo,前端用 AngularJS 编写。

我想增强应用程序,使其即使在离线状态下也可以进行 CRUD 操作,并在数据连接可用时自动同步。用最少的额外开发来做到这一点的最佳正确技术是什么?

我研究过 Meteor,它可以解决这个问题,但需要在 Meteor 中重新编写应用程序。

我还研究过 Breeze,它看起来可能是一个更好的选择,并且允许我继续使用 Angular 和 Flask。

最佳答案

数据量大吗?向现有应用程序添加离线功能总会产生一些影响。

您可以尝试直接使用一些 HTML5 功能:HTML5 Application Caching专为离线访问而设计,允许下载 Web 应用程序离线工作所需的所有工件,从而解决了部分问题。

另一部分是数据,可以使用浏览器HTML5 Local Storage将其加载到浏览器中。或IndexedDB .

本地存储允许存储与键关联的字符串,因此要存储 JSON,您需要首先对其进行字符串化。 IndexedDB支持更多的数据类型,两个数据存储都有Javascript API。

因此,问题是选择一个数据存储并创建一个同步模块,定期 ping 回服务器,并在连接可用时同步本地数据存储。

另一种方法是使用一些离线的第一个框架,例如 hoodie ,这是article来自连帽衫开发人员的关于如何将连帽衫与 Angular 一起使用的信息。他拿了 Angular TODO sample application并修改为使用连帽衫。

这与应用程序缓存一起可能是为 Angular 应用程序提供离线功能的一种影响较小的方式。

关于javascript - 如何使我的 CRUD 应用程序离线工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20890872/

相关文章:

java - 在通用 Spring CRUD DAO 中获取正确的 Hibernate 模板

javascript - 优化 Jquery 动画

javascript - 有一种方法可以通过 Prop 传递 Action 吗?使用 react-redux 制作可重用的组件

javascript - 免费 JavaScript 工具栏菜单

ruby - 如何合并多个 CRUD 的索引页?

PHP Crud 更新选择显示重复

javascript - 具有多个条件的多个 <td>

javascript - 如果变量是数组、字符串、数字,则检查模板

mysql - visual studio xamarin 和 mysql crud

linux - 在 Linux 上具有角色的 Web CRUD 应用程序的最佳语言/框架