desktop - 为什么桌面应用程序不在本地客户端服务器模型下运行?

标签 desktop

如果像 Microsoft Excel 这样的典型桌面应用程序有一个轻量级 Web 服务器,并且 GUI 是用 html/css 实现的,会怎么样?您使用操作系统内置的浏览器或 html/css 引擎连接到本地 Excel 服务器。繁重的工作由网络服务器完成,而 html/css 只负责 GUI。

这将使将应用程序移植到不同平台的 GUI 部分变得更加容易。我很确定大多数应用程序不需要操作系统特定的系统调用来处理非 GUI 的东西?

因为每个应用程序也是一个网络服务器,如果您授予他权限,您的伙伴就可以连接到您的 Excel 服务器,并且他可以处理同一个文件。每个设备基本上都会成为云提供商,从而更轻松地进行协作。

您还可以像当前一样连接/同步这些应用程序的托管版本。公司不能只开发一个应用程序并为其云产品和桌面产品使用相同的代码。

这个模型是否有任何明显的问题,例如。安全? html/js 甚至可以用来与程序有效地对话吗?

最佳答案

X 窗口服务器正是这样做的。在其上运行的所有程序都可以重定向到另一台计算机。话虽如此,这种方法有很多缺点:

•与在同一地址空间中发送显示数据相比,通过网络发送显示数据既昂贵又缓慢。

•现在您必须担心端口是否开放以及所有令人头疼的网络安全问题。

•您必须编写大量粘合 JavaScript 和 Web 套接字,以保持程序和 GUI 同步以及程序响应。

•您的程序必须用至少三种语言编写,并且需要在所有浏览器的所有版本中进行测试。

•用户现在在想要运行程序时必须管理客户端和服务器的启动和停止。

有很多高质量的跨平台 GUI 工具包,例如 QT、Swing 或 GTK。如果您像 Google 一样,您只需构建自己的产品,就像他们对 Chrome 所做的那样。

关于desktop - 为什么桌面应用程序不在本地客户端服务器模型下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848027/

相关文章:

c# - 有没有办法截取用户 Windows 桌面的屏幕截图?

css - 如何防止移动浏览器调整文本大小

JavaScript 在 Chrome 扩展 HTML 桌面通知中不起作用

Java Swing 桌面应用程序示例 Controller 或管理器?

windows - 如何快速测试Windows Gadgets?

internet-explorer - IE 中的 Webkit 桌面通知

javascript - 将 HTML 代码保存为自己的应用程序

java - 如何向 LibGdx 项目添加平台?

windows - 如何在Windows Vista及以上系统进入Windows Flip 3D模式?

c++ - 如何从服务获取用户桌面的路径?