2

我想构建一个可以在联机和脱机模式下工作的 Web 应用程序 (SaaS)。用户在离线时需要有限的功能,而当他再次在线时需要完整的功能访问。我想到了以下选项:

  1. 让用户下载本地服务器,例如 Cassini,并设计一个架构以允许 Web 应用程序中的在线和离线模式。我不确定它将如何完成,但我相信所有命令都将通过此本地服务器进行路由。然后本地服务器将决定是访问本地资源还是访问服务器。 让用户在他的系统上安装应用程序将破坏 SaaS 背后的整个想法。

  2. 使用 Google Gears - 我刚刚检查了 Google 文档在离线模式下的工作方式。它在用户的系统上安装了 Google Gears,非常简洁和快速,并将所有文件复制到本地。提供了访问离线版本的链接。这对我来说似乎是一个不错的选择,因为它本身集成了本地服务器、关系数据存储和工作池,但是Google Gears 是否成熟到可以在生产中使用?

有没有人在这样的应用程序上工作/工作。欢迎提出想法。

编辑@1:我对 Silverlight 以及它是否可以在这种情况下使用不是很熟悉。

编辑@2:以下链接提到SilverLight 可用于开发离线应用程序离线SilverLight 我正在寻找在他们的开发中使用过SilverLight 的人的专家意见。用户可以离线工作吗?用户可以在关闭浏览器窗口后重新打开同一个网页吗?

4

2 回答 2

1

如果您选择让用户在他们的计算机上安装应用程序,我会考虑开发 Windows 窗体应用程序而不是 Web 应用程序,主要是因为这似乎是一个更合乎逻辑的解决方案。如果您使用ClickOnce部署应用程序,那么让客户端保持最新状态非常容易。

从用户的角度来看,我认为 Gears 是成熟的。我在其中使用 Gmail、Google 日历和 Google Docs,几乎没有任何问题。我不知道开发人员工具。使用 Google Clusure Library可能会有所帮助,因为它具有特定于 Google Gears 的方法。

根据您需要支持的网络浏览器,您还可以查看HTML 5。O'Reilly 的在线书籍使用 HTML、CSS 和 JavaScript 构建 iPhone 应用程序有一章是关于使 Web 应用程序在离线模式下工作的

于 2009-12-29T12:15:33.500 回答
0

在我看来,“Web 应用程序”和“离线模式”有点矛盾。

但是,我已经看到了一些以这种方式使用 Silverlight 的示例。而且,有一次,我实现了一个以这种方式工作的 WinForms 智能客户端应用程序。不过,这些天来,我肯定会研究 Silverlight。

于 2009-12-29T12:11:27.580 回答