Web applications Web应用程序的替代方案?

Web applications Web应用程序的替代方案?,web-applications,language-agnostic,Web Applications,Language Agnostic,假设您有一位客户希望应用程序集中存储和维护其数据,用户可以连接到该应用程序(但也可以在本地存储数据)并使用该应用程序,而不使用浏览器查看和修改数据。此外,应用程序本身也应该集中维护 因此,没有传统的web应用程序,但它应该仍然有它的好处。你们中有人知道如何解决这个问题吗?我曾考虑过客户机/服务器解决方案,但我不知道它如何随着用户、数据等的增长而扩展。我建议使用C#with ClickOnce进行部署。对于UI,我个人的选择是WPF;对于数据层-Linq到SQL或EF(尽管很多人抱怨EF) 如果希

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

因此,没有传统的web应用程序,但它应该仍然有它的好处。你们中有人知道如何解决这个问题吗?我曾考虑过客户机/服务器解决方案,但我不知道它如何随着用户、数据等的增长而扩展。

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

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


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

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

基本上,您可以将应用程序分为2部分: -服务器端 -客户端

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

你可以用Flex编写客户端程序,这将允许你在浏览器或桌面上运行它,你可以用html/css/javascript(一种标准的web应用程序)编写客户端程序,有几十种选择


但底线是:您需要的是RIA。

对于Java,您可以使用JavaWebStart,并使用Web服务或类似服务(RMI、REST等)与服务器通信。它支持本地存储等。有关详细信息,请阅读。如果您想要华丽的UI,可以使用JavaFX脚本

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


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

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

瘦客户机应用程序可能就是您想要的


我能想到的最接近的东西是它包含一个面向对象的数据库、语言和工具,非常常用于要维护的服务器上的db和应用程序以及瘦客户端连接。

研究智能客户端技术。它让你两全其美。重量轻的用户前端,具有扩展潜力。还允许轻松部署和web的灵活性。微软也一直在推动这项技术


他们甚至有一个可用的智能客户端软件工厂

HTML5难道不能解决大部分问题吗?只要坚持你的客户使用HTML5可移动浏览器访问它,你就走了不


我可能错过了什么

对不起,我迟到了。但也许我的答案对其他阅读它的人会有用

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

将托管的地狱之火粘贴到他们的盒子(几乎可以在任何操作系统上运行)和您的服务器上。 让应用程序在其inferno上运行,但让数据集中在您的inferno上。 让他们的地狱初始化脚本直接启动你的应用程序,而不是让他们 从菜单或其他东西中选择它

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

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

同上。本地本身只是本地+远程组合的一个特例

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

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

应用权限,这样他们就不可能把你的盒子搞砸了

也可以在服务器上执行所有操作,仅将其端部用作显示。 在地狱术语中,这称为“cpu”

如果它们看起来是图形化的,那么在地狱里编写图形程序真的很容易。查看图表 《世界你好》在8½的报纸上。将它与你知道的任何其他图形进行比较,你会发现它更容易

如果你找到一个地狱般的屏幕截图,看到它的窗口中运行着自己的整个窗口管理器, 如果您不想这样做,也可以让应用程序直接写入主窗口。没有 知道区别。如果你看“acme SAC”,你就会明白我的意思。此外,acme SAC的字体比您使用的字体更好
可以在多年前的《地狱》截图中看到。

我将在这里暗中试探一下,猜测到目前为止,你是投票否决每一个答案的人。这是没有办法得到帮助的,但我很高兴能报答你的好意。我会投票赞成结束讨论,只是因为我的态度。不要结束这个问题。这是一个很好的例子,尽管