Microsoft Smart Clients vs Macromedia Rich Internet Applications

Client Technology's Development Road应对新的发展潮流,微软强力推广 Smart Clients 概念,在这一领域的竞争对手包括 Macromedia 的 Rich Internet Applications。

企业级程序架构经历了这些阶段:

(1)单机版程序:最初的程序仅在一台机器上运行,操作也完全在这台机器上进行。它适应当时电脑并不十分普及、网络连接并不十分便捷的年代。

(2)Client/Server架构:网络的发展,单机版程序满足不了企业管理等各方面的需求,企业需要将来自终端的数据汇总到服务器,统一管理。

(3)Browser/Server架构:C/S有部署繁琐、更新难度高等缺点。Web技术的发展,给企业新的选择。Browser/Server可以让企业应用随时、随地,只要有浏览器即可使用。

C/S 的缺点主要是部署、更新的问题,需要在众多终端机器中安装程序;遇到更新,也需要一台一台做。

B/S 的缺点主要是受制于HTML的限制,无法像C/S那样使用丰富的效果来展示数据,用户体验比较难以保证。另外,稳定的客户端/服务器连接,也是必要条件,网络中断将是B/S无法运行。

经过一些比较,我认为,Macromedia 推广的 Rich Internet Applications 更像是从 B/S 出发,关注于解决 B/S 的缺点。而 Microsoft 推广的 Smart Client 则更像是从 C/S 出发,关注于解决 C/S 的缺点。

比如:Macromedia Rich Internet Applications 理念的重要实践者 Flex,就是利用了“Flash 客户端在全世界的高普及率(高达95%以上)”、“Flash 相比 HTML 而言丰富的展现能力”这些已有优势,在服务端根据 mxml(Macromedia 扩展的 XML 标记语言)的标记,动态的生成 Flash SWF 文件返回给浏览器客户端,并以此向用户提供接近 C/S 一般的用户体验。(Flex 等技术接触时间较短,如有谬误,敬请指出。)

微软给出的 Smart Client 示例,重点向我们展示了 Auto-Update自动更新,Offline离线状态下的数据处理等特征;而它本身也是在已有的 .NET Windows Forms 技术或者 Office 技术等基础上,补足了一些以往的缺点。

另一方面,Smart Client 概念宣传中,强调了一点叫做“可以使用本地资源”的特征,我认为这是个“进攻手段”,正好打在 Rich Clients 的软肋上,因为 Flash 很难操作本地的一些资源,比如访问文件系统就非常困难:Flash 可以很方便的从网络中下载并读取一个 XML 文件,却不知道怎样才能把它保存到本地。(当然,只要使用者同意,Flash 可以很容易的访问你的麦克风、摄像头等多媒体资源,这一点倒也是很方便的。)毕竟 Flash 更多的是运行在浏览器中的,在浏览器环境中的 Flash 的确是不应该能够访问文件系统的。不知是不是因为技术原因,Macromedia 为什么也同时不允许 standalone 的 Flash 访问文件系统。类似的,Flex 的 RoadMap 中说,他们将会实现 Offline 特征;而且还会在将来发布 .NET Native 的版本。

就目前而言,Smart Clients 和 Rich Internet Applications 应该各有各的优势和市场。Smart Clients 应该更适合于企业级程序的模式,因为它就是在那个基础上发展来的。添加了自动更新,解决了企业非常头疼的部署难题的 Smart Clients ,相信能受到企业的欢迎。另一方面,Rich Internet Applications 在需要更多丰富效果的、面向 Internet 用户的 Web 程序中,也会有其市场,Smart Clients 暂时还无法替代:因为你不可能让每个访问站点的人,都去下载一个Smart Client,或者,仅仅让他/她点击一个具有 *.exe 后缀的超链接,就够让人“提心吊胆”了。

一个 Flex 示例:http://coenraets.com/apps/load.jsp?app=restaurant/restaurantv1

posted on 2004-10-20 21:45  破宝  阅读(179)  评论(0编辑  收藏  举报

导航