具有持久本地数据库的渐进式 Web 应用程序

Fai*_*zal 8 sqlite smartclient microsoft-sync-framework reactjs progressive-web-apps

实现渐进式 Web 应用程序时,本地数据库的最佳选择是什么?

最初的选择是设计一个智能客户端桌面应用程序,通过一键部署来安装本地 SQLite 数据库。然后可以使用 Microsoft Sync Framework 将本地数据库与服务器端 SQL 数据库同步。

然而,随着未来支持移动设备的用例,我更感兴趣的是使用本地 SQL 数据库开发渐进式 Web 应用程序以支持离线模式(对于没有任何互联网连接的用户)。

考虑到 React PWA 堆栈,我找不到 SQLite 的干净实现。IndexDB 可用,但它不像 SQL。

关于如何使用持久本地 SQL 数据库实现 PWA 离线模式有任何反馈吗?

Jef*_*ick 5

提供最广泛支持的“最佳”选择是 IndexedDB。IndexedDB API 使用起来并不是特别愉快,所以我通常转向https://github.com/jakearchibald/idb(获取完整的功能集)或https://github.com/jakearchibald/idb-keyval(对于基本的键/值用例)作为更高级别的、与 Promise 兼容的包装器。

有像https://jlong​​ster.com/future-sql-web这样的技术尝试将其他数据库引擎引入 Web 平台,但缺点是它们依赖于外部库和 Web Assembly。