Quasar框架 - 存储本地持久化数据的最安全方式是什么?(适用于Web、Cordova和Electron平台)

7
假设我想覆盖所有平台(Web、Electron 和 Cordova),那么离线存储数据的最安全方式是什么?
我之所以问这个问题,是因为我的应用程序 Fudget(它是 Cordova / Electron - 但不是 Quasar)使用 WebSQL 在本地存储用户的应用程序数据。多年来一直运行良好(偶尔会有 Android 用户的数据被 Android 操作系统擦除 - 但不经常)。
但在过去的几天里,数百名 Android 用户的 WebSQL(和本地存储)被删除了(有人知道原因吗?),因此我收到了很多愤怒的电子邮件,这些人失去了所有的数据和设置。
我目前正在开发 Fudget 2(使用 Quasar),希望确保这种情况不再发生。我想覆盖所有平台(Web、Mac、Windows、iOS、Android),并希望在本地使用 JavaScript 对象存储数据,那么对于所有这些平台,最安全的本地数据存储方式是什么?
显然,本地存储和 WebSQL(现在已弃用)不安全。但是,例如我能否安全地使用 IndexedDB?这将永久保存吗?
或者我需要为每个平台集成适当的本地数据存储(例如,对于Cordova使用cordova-plugin-nativestorage插件,对于Electron使用类似的东西)?如果是这种情况,那么Web平台怎么办?

我只是想知道你是否找到了自己问题的答案。我参加了你的Udemy课程,它对我帮助很大(谢谢!),尽管我还有很多要学习的。我也在尝试解决本地数据库问题。我正在尝试编写一个需要可靠本地数据库以进行大量离线使用并可以通过PHP中间件页面(已设置)与我的服务器(MariaDB)自动同步的应用程序。到目前为止,对我来说最困难的部分是在Quasar中连接到可靠的东西。你找到了什么吗? - sanitycheck
2
我可能会使用indexedDB,它看起来非常可靠。使用localforage包非常容易。如果我真的需要持久性存储,那么我可能会考虑使用本地存储(例如使用cordova-plugin-nativestorage)。 - Danny Connell
你好 Danny。因为你的缘故,我正在使用 Quasar。这个话题有什么更新吗? - Mithsew
1
@Mithsew 我已经决定不在本地存储任何关键数据。我只会在本地存储偏好设置、电子邮件地址、用户界面标志等信息。但所有用户的核心数据都将存储在 Firebase 上。这样做有几个原因:(1)上述原因(本地数据有时会被删除),(2)以防需要更改 Webview。在 iOS 上,我无法为 Fudget 的原始版本提交更新,因为旧的 Webview UIWebview 已经过时,如果更改它,用户将失去他们的关键数据(3)与订阅相关的一堆复杂问题。 - Danny Connell
1个回答

4

我不确定我们能否永远依靠indexeddb,但我查看了W3C推荐的Indexed Database API 2.0,它似乎正在蓬勃发展。编辑人员来自谷歌和微软,这是个好兆头(除了那些不喜欢大四巨头在开源世界中影响力的人)。

此外,虽然GitHub问题仓库并没有得到很多活动,但它似乎已经更新,发布的问题得到了多个输入。同时,我也注意到更多的问题是功能请求,而不是错误报告或请求帮助。

因此,虽然我们不能确定它能存在多久,但至少在短期内前景看好。

除了Opera,它在所有现代浏览器中都得到了很好的支持。请参见:https://caniuse.com/#feat=indexeddb


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接