【发布时间】:2012-12-05 16:18:07
【问题描述】:
我的公司目前正在过渡到一种新的架构,以及一种为移动设备提供服务的模型。我们的应用程序传统上是基于 Web 的 (HTML5/CSS3/JS/PHP/MYSQL),因此我们希望能够将其移植到移动平台而无需重新发明轮子 (Cordova strong>),以及以独立方式 (AppJS) 到桌面,这样我们就不必担心依赖于浏览器的错误。我们也正在从 PHP 过渡到 NodeJS 以使其更加可行。
问题是我们的用户需要能够离线使用我们的应用程序,在将数据“同步”到我们的服务器之前,他们可以存储多长时间或多少数据没有真正的限制。 p>
使用 AppJS,这不是问题,因为它们可以在 sqlite 数据库中存储所需的尽可能多的数据。但是,我发现了有关 WebSQL 数据和 cordova/phonegap 的 5MB 配额 的问题。这对我们的业务需求提出了明显的技术挑战。
我知道有几个插件可以让您使用 sqlite 数据。 原始的 sqlite 插件 (https://github.com/davibe/Phonegap-SQLitePlugin) 缺少用于android,而另一个(https://github.com/chbrody/Cordova-SQLitePlugin)要求我指定一个显然不可能的数据限制。因此,我只剩下很少的选择,一种是将数据库拆分为多个 5MB 的段,这些段由 JS 包装器控制。
您能否将较大的数据结构拆分为多个 5MB 的 websql 数据库,并且在 iOS 和 Android 上都没有问题?
iOS和安卓的websql数据库总数有限制吗?
您还有其他选择可以推荐我们吗?我们需要能够将我们现有的 HTML5 和 CSS 用于前端!
编辑
我们最初的架构从未真正适用于平板设备。这是我们希望通过cordova 来解决的问题,并构建一个更稳定的解决方案。最初,我们的离线产品在 Server2Go 堆栈上运行,由于客户端计算机上运行的各种应用程序存在各种平台问题
【问题讨论】:
-
你是如何在原来的浏览器应用中解决这个问题的?
-
在原始浏览器应用程序中,我们使用 Server2Go 堆栈在他们的机器上实际“托管”应用程序 (server2go-web.de)。这导致了各种各样的问题(主要是在本地运行 mysql。WAMP 不是为生产而设计的,Apache/MySQL、PHP 也不是为在不断更改其配置的平台上运行而设计的,因为我们无法控制客户端的软件选择安装可能与此堆栈冲突的),这也是我们切换架构的原因之一。
-
IndexedDB 怎么样。它没有限制。
标签: android ios cordova web-sql