如何使用一个代码库在线和离线访问 HTML5/JS 应用程序中的数据库

How to access database in an HTML5/JS app online and offline with one code base?

本文关键字:HTML5 访问 离线 JS 应用程序 数据库 在线 何使用 代码 一个      更新时间:2023-09-26

我正在开发一个HTML/JavaScript GUI应用程序,该应用程序将在移动设备上运行(使用Cordova),也可以作为可从桌面Web浏览器访问的托管网页。 我想提供在本地离线数据库(最有可能是SQL数据库)中读取和存储数据的选项,以及连接到Web服务器并从服务器读取/更新数据的选项。

如果有人做了类似的事情而不必编写两次数据访问例程(一次用于服务器端,一次用于客户端脱机存储端),我想得到一些建议。

我正在考虑的一个解决方案(仍然有一些未解决的问题):我可以在任何平台(PHP,Java,Js等)中编写服务器,但不想复制离线版本的数据访问代码,所以我想用JavaScript做数据访问部分 - 也许写一个节点.js服务器,并将sqlite用于本地/离线数据库(Cordova支持)。 我不知道如何在 Web 浏览器上提供类似的本地数据功能。

最简单的选择是在本地机器上运行服务器,但我认为这在 Cordova 或桌面浏览器上并不容易。

查看 PouchDB。 PouchDB与CouchDB兼容,并且是100%的Javascript。 你可以做一些很酷的离线同步到与CouchDB的在线同步。

查看 https://cloudant.com/blog/pouchdb/和 http://pouchdb.com/faq.html。