在混合应用程序开发中使用本地存储;本地数据库“-危险或有用

Using Local Storage in Hybrid App Development as a "Local Database" - Dangerous or Useful?

本文关键字:数据库 危险 有用 存储 混合 应用程序开发      更新时间:2024-02-15

我正在构建一个混合应用程序(Ionic),只需要本地存储来保存我的数据库对象。

该应用程序只允许您存储、编辑和查看简单的笔记

现在,很明显,我需要确保当用户保存笔记时,它仍然存储在他的手机上。

我的问题是,在这种情况下使用window.localstorage有什么危险吗此外,在哪些情况下,用户会丢失所有数据一个明显的例子是当他删除并重新安装应用程序时。

如果不采用本地存储,还有哪些其他方法(或者它总是需要服务器端解决方案)?

本地存储确实是在Cordova应用程序中存储数据的一种简单方法。正如JohnAndrews所指出的,如果用户清理应用程序数据,所有数据都可能丢失。除此之外,LocalStorage还存在一些限制:

  • 它对键值对非常方便,但很难存储复杂的数据
  • 您无法"查询"您的数据
  • 如果你在移动应用程序上使用了多个网络视图,你需要你的HTML5内容来自同一个域,否则LocalStorage数据将不会在网络视图之间共享

如果你想了解更多关于Ionic(Cordova)应用程序数据存储可能性的信息,请查看其官方文档http://cordova.apache.org/docs/en/4.0.0/cordova_storage_storage.md.html

在使用localStorage(在我的情况下)时,我发现有一些严重的限制,包括:

  • 存储限制(~5MB)取决于浏览器(有关更多信息,请点击此处)
  • 只存储字符串,以便最终转换为json(json.stringfy)并通过json对象进行查询
  • 一旦移动存储空间已满,它将强制存储空间中的所有数据

我最终在寻找新的候选人(sqlite似乎很有前途,但在iOS 10上有一些问题)另一方面,如果您的应用程序存储的数据量很小,或者大部分都与在线数据库进行交易。localStorage看起来不错

  • 易于使用,已适用于大多数浏览器
  • Json的工作方式类似于NoSQL