Web应用程序的替代方案?

时间:2009-03-03 13:38:50

标签: web-applications language-agnostic

假设您的客户想要一个应用程序,其数据集中存储和维护,用户可以连接到它(但也可以在本地存储数据)并使用它,而不是使用浏览器来查看和修改数据。此外,应用程序本身也应集中维护。

所以没有传统的网络应用程序,但它应该仍然有它的好处。你们有些人知道如何解决这个问题吗?我考虑过一个客户端/服务器解决方案 - 但我不知道这会随着用户,数据等的增长而扩展。

8 个答案:

答案 0 :(得分:12)

我建议使用ClickOnce进行C#部署。对于UI,我个人的选择是WPF;对于数据层 - Linq To SQL或EF(尽管很多人抱怨EF)。

如果您想在服务器上运行某些逻辑,可以使用WCF将其公开给客户端。

当然,这使它以Windows为中心。所以,如果你也需要Linux,可以使用xcopy部署和WinForms来查看C#/ Mono。

答案 1 :(得分:6)

对于Java,您将使用Java Web Start并使用Web服务或类似的东西(RMI,REST等)与服务器进行通信。它支持本地存储等。有关详细信息,请阅读guide to Java Web Start。如果您想要华而不实的用户界面,可以使用JavaFX脚本。

编辑至于可扩展性,像这样的解决方案应该扩展到同等的Web应用程序,如果这是任何线索(可能更好,正如S.Lott在评论中提到的那样) 。您有一个Web服务调用,而不是一个页面请求。相同,相同。

此外,JWS类似于ClickOnce,但在“所有”平台上运行,并要求您使用AWT / Swing(这很痛苦)或JavaFX(不是很成熟)。

答案 2 :(得分:5)

了解智能客户端技术。它为您提供两全其美的体验。轻量级用户前端,具有扩展潜力。还允许轻松部署和Web的灵活性。微软一直在推动这项技术发展一段时间。

他们甚至可以使用智能客户端软件工厂here

答案 3 :(得分:4)

Adobe Air允许您使用javascript,html和flash构建客户端应用程序。它还包括一个自动更新程序,以便您可以保持您的应用程序,以及本地数据库,您可以存储本地数据。

答案 4 :(得分:3)

瘦客户端应用程序可能就是您正在寻找的。

我能想到的最接近的是Jade,其中包含面向对象的数据库,语言和工具,并且非常常用于维护1台服务器上的数据库和应用程序以及瘦客户端连接。

答案 5 :(得分:1)

你想要的是RIA,富互联网应用程序,有很多方法可以做到这一点。

基本上你将应用程序划分为2: - 服务器端 - 客户方

服务器端和客户端使用某种协议进行通信,最广泛接受的是HTTP,即使您不想要Web应用程序,因为HTTP请求更有可能遍历防火墙。

您在Flex中编写客户端,允许您在浏览器或桌面中运行它,您可以在html / css / javascript(标准Web应用程序)中执行客户端,并且有几十种替代方案。

但最重要的是:你想要的是RIA。

答案 6 :(得分:1)

HTML5不会解决这个问题的很大一部分吗?只是坚持让你的客户使用HTML5 capeable浏览器访问它,你就不在了吗?

我可能会遗漏一些东西。

答案 7 :(得分:1)

抱歉,我迟到了。但也许我的回答对读它的其他人有用。

  

希望将数据集中存储和维护的应用程序的客户,   用户可以连接到它并使用它,而不是使用浏览器来查看和修改数据。

坚持在他们的盒子上托管inferno(在任何操作系统上运行)和服务器上。 让应用程序在他们的 inferno上运行,但是将数据集中在你的 inferno上。 让他们的inferno的init脚本直接启动你的应用程序,而不是他们拥有 从菜单或其他东西中选择它。

您可以使用您喜欢的任何协议连接他们的终端和您的终端,但是如果您使用styx协议 然后远程访问只是他们使用常规打开/读/写/搜索/关闭调用的应用程序的问题。 styx可以进行身份​​验证和加密。权限当然也适用。

  

(但也可以在本地存储数据)

与上述相同。本地本身只是本地+远程一起的特例。

  

此外,应用程序本身也应集中维护。

你的意思是,他们使用的程序应该存储在你的服务器上,下载并在他们的机器上运行? 为此你要将二进制文件保存在服务器的/ bin中,最后你需要使用它们的init脚本 bind / n / yourserver / bin进入自己的/ bin。然后,当他们的启动脚本尝试加载应用程序时,它会在/ bin中查找它。 然后它就像加载本地一样加载并运行它。

权限适用,因此他们无法在执行此操作时弄乱您的邮箱。

也可以在服务器上执行所有执行,只将它们的结尾用作显示器。 在inferno术语中,这称为'cpu'。

如果他们看起来是图形化的,那么图形程序在inferno中写起来真的很容易。看看图形 你好世界的8½纸。将它与你知道的任何其他图形进行比较,你会发现它更容易。

如果您找到了一个inferno屏幕截图,并且看到它的窗口内有自己的整个窗口管理器, 并且您不希望这样,也可以让您的应用程序直接写入主窗口。它没有 知道区别。如果你看'极致SAC',你会明白我的意思。 acme SAC也有比你更好的字体 可以看到多年的地狱截图。