我喜欢使用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的基础。

09-19 02:38