0

如果现在 Internet 的速度足以进行“传统”胖客户端 C/S,为什么还要使用多层 RIA?

什么只是使用普通的 C++ / Delphi / Oracle Forms / JAVA-Swing 应用程序通过 Internet 直接与 RDBMS 对话?

在 Delphi 中一个非常复杂的编译 exe 程序大约 10MB,在一个像样的 1MB ADSL 连接中几分钟内下载的代码量。

毕竟,我们正在使用 AJAX / BlazeDS / JSON / 等通过 http/https 协议进行推送,但有很多层和很多故障点......

请评论...

4

1 回答 1

1

首先是关于术语,您所说的“传统胖客户端”可能是桌面软件。Web 应用程序通常编写为瘦客户端,但它们也可以编写为胖客户端。胖客户端富互联网应用程序是以客户端为中心的,这意味着很多工作都在客户端(浏览器)中完成。可以借助 AJAX 或 Adob​​e Flash 等技术编写胖客户端 RIA。

比较基于 Web 的应用程序相对于桌面软件的优势:

可维护性:基于 Web 的应用程序的优点之一是它们的可维护性。您只需安装一次应用程序,然后所有用户都可以直接使用它。软件更新也是如此,您只需要更新服务器上的软件,然后您就可以确保每个用户都使用最新版本的软件。这消除了在用户计算机上更新应用程序的各个部分的需要。

安全性:使用基于 Web 的应用程序有两个积极的安全含义。如前所述,您只需在一处更新软件。这意味着用户始终使用最新版本的软件,从而消除了人们使用过时、易受攻击的应用程序版本的问题。

更重要的是,胖客户端应用程序是不安全的。它们公开应用程序逻辑和可能的敏感数据,例如数据库凭据。胖客户端可以进行逆向工程,并且可以根据获得的信息进行攻击。对于真正安全的应用程序,应用程序逻辑应该保留在服务器上,客户端应该是瘦的,并且只有服务器作为应用程序中处理的信息的表示层。请记住,应用程序逻辑的暴露也会影响富互联网应用程序。以公开应用程序逻辑的方式编写 RIA 很容易。因此,重要的是要记住应用程序的状态应该始终保留在服务器上,正如所说的,浏览器只是呈现数据的手段。换句话说,

平台无关:基于 Web 的应用程序是平台无关的(使用平台特定功能的应用程序除外,例如 activex)。这意味着您的用户可以在 mac、windows 或 linux 计算机上使用该应用程序,这并不重要。当然,不幸的是,很容易创建无法/仅在特定浏览器(例如 Internet Explorer)上运行的 Web 应用程序。虽然,让 Web 应用程序跨浏览器兼容比编写一个真正跨平台兼容的桌面软件要容易得多。

可访问性:如果您连接到 Internet/Intranet,则可以访问该应用程序。无论您是借用朋友的笔记本电脑还是坐在台式电脑旁,您仍然可以访问该应用程序,因为它不需要您在电脑上安装任何东西。只需浏览到应用程序 URL。

于 2010-06-29T10:06:11.507 回答