我必须创建 HTML5 应用程序,当你有互联网连接时下载内容。之后,您可以松开连接并继续处理它。当连接可用时,它应该将所有数据与服务器同步。它应该在重新启动程序/浏览器时保留数据。我认为Slack和Visual Studio Code就是这样写的。
根据我的研究,我必须使用Manifest 文件来下载资源并使用File API
现在我发现Chrome devTools最适合这个目的。
您还有其他想法如何创建这样的应用程序?重要的是它应该是跨平台的。
我必须创建 HTML5 应用程序,当你有互联网连接时下载内容。之后,您可以松开连接并继续处理它。当连接可用时,它应该将所有数据与服务器同步。它应该在重新启动程序/浏览器时保留数据。我认为Slack和Visual Studio Code就是这样写的。
根据我的研究,我必须使用Manifest 文件来下载资源并使用File API
现在我发现Chrome devTools最适合这个目的。
您还有其他想法如何创建这样的应用程序?重要的是它应该是跨平台的。
你看过NW.js吗?
它是一个用于构建 html 应用程序的紧凑框架,适用于 linux/win/OSX。
以下是我使用此类应用程序的一些经验:
要创建跨平台的 HTML5 移动应用程序,您可以使用Apache Cordova。有很多用于cordova 的插件可以访问您的设备,例如可以读取连接类型(wifi/蜂窝)或在线状态的网络插件。因此,这肯定是比经典网站更好的解决方案。
为了在手机上本地管理应用程序上的数据,您可以使用单页 Javascript MVC 框架。EmberJS与 Ember-Data 一起具有管理模型和模型关系的强大功能。有一个 localStorage 适配器允许您使用 HTML5 localStorage 而无需任何额外配置。(甚至还有一个 ember-sync 项目可以满足您的要求,但由于它处于 alpha 阶段,您可能不想在生产中使用它)
正如我上面所说,HTML5 的 localStorage 可能是您想要用来在用户手机上保存数据的工具。但是,如果您的数据对于 localStorage 来说太大(~ >5MB),您可以依赖cordova 的 SQLite 插件。您根本不需要自己使用 File-API。
正如您所指出的,chrome 开发工具是调试应用程序的好方法。它们对科尔多瓦网络视图的工作完美无缺。此外,Safari 还具有适用于 iOS 设备的远程调试功能。但最好的一点是:您可以在浏览器中编写和调试大部分应用程序,因为它是基于 HTML/JS/CSS 的。Ember 在过去的版本中极大地改进了它的错误处理,并且在许多情况下,谷歌浏览器的扩展 ember-inspector 也有很大帮助。
一般来说,由于科尔多瓦有时会很痛苦,所以它在这里达到了一种状态,您可以以一种非常高效和高效的方式使用它。Ember 和 Ember-Data 也是如此。试一试。祝你好运!