我喜欢使用nw.js(node-webkit)或Electron开发一个桌面应用程序。
我正在寻找一种通过Restful API在Cloud上的IndexedDB和MySQL Server + PHP(Laravel)之间进行同步的解决方案。
PouchDB看起来不错,但这是不可行的,因为它仅支持与CouchDB同步。
我有什么选择?
最佳答案
dexie有可能,但不如pouchdb完整。与dexie完整解决方案最接近的是使用Dexie.Syncable插件(https://github.com/dfahlander/Dexie.js/wiki/Dexie.Syncable.js)(尚未稳定),并通过以下两个后端示例实现来实现后端:
https://github.com/dfahlander/Dexie.js/tree/master/samples/remote-sync/
如果您不想依赖Dexie.syncable,另一种解决方案是根据Dexie在默认api中提供的稳定CRUD钩子来构建自己的同步插件:
https://github.com/dfahlander/Dexie.js/wiki/Table.hook(%27creating%27)
https://github.com/dfahlander/Dexie.js/wiki/Table.hook(%27updating%27)
https://github.com/dfahlander/Dexie.js/wiki/Table.hook(%27deleting%27)
使用这些挂钩,可以将所有本地更改记录到专用表中,以便在服务器联机时与服务器同步。这就是Dexie.Syncable的基础。