RIA/WPF/XAML/Silverlight

Rich Interactive Application:富界面应用,俗称胖客户端

RIA的优势

RIA 具有的桌面应用程序的特点。包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。

RIA具有的Web应用程序的特点。包括:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。

RIA具有通信的特点。包括实时互动的声音和图像。

客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。

RIA目前的发展态势

在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web 应用系统地机构来说,RIA确实提供了一种廉价的选择。

WPF
WinFX是下一代的Windows API,而WPF将是WinFX的核心一部分,用于处理UI, Document, Media和用户交互。

WPF的全称是Windows Presentation Foundation(以前的代号为“Avalon”),是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。作为新的图形引擎,WPF是基于DirectX的。WPF 统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。你可以将视频,图形,3D和文本混合在一起。

客户端要安装.NET 3.0。
http://msdn.microsoft.com/en-us/netframework/aa663326.aspx

XAML
Extensible Application Markup Language [Zamel] 可扩展应用程序标记语言。它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计。

XAML是一种解析性的语言,也可以被编译。微软推荐XAML被编译成BAML(Binary Application Markup Language-二进制语言程序标记语言)。

XAML是可扩展的,开发人员可以创建自定义的控件、元素和函数来扩展XAML。

网站上已经提供了一些很实用的工具,可以将其他格式的图形文件转换为XAML文件的形式。例如我们就可以将3DMax制作出的3D动画转换为XAML,这样WPF程序就可以直接通过转换好的XAML文件产生和3DMax制作出的3D动画相一致的效果。

从WPF/E到Silverlight
Silverlight以前称为WPF/E。(E:Everywhere)Silverlight的用意是解决大范围的硬件问题,因此它可以运行在苹果OS X系统上,可以是Power pc硬件也可以是Intel硬件,它还可以在IE之外运行,比如可以在firefox上运行。

但是这实际上不是使用WPF,而是使用XAML,因此,它和标记语言是同一家族的。不过它是XAML的一个相当有限的子集,你不能使用数据绑定,没有布局,没有控制,只有一个受限版的事件模型。它是一个很小很小的子集,坦白地说,对开发人员来说,使WPF让人真正感兴趣的并不是Silverlight。

你可以开发一个Silverlight应用,但是构建一个即能作为普通应用运行同时又能作为一个WPF应用运行是不可能,现在还没有能够这样做的方法。

或许将来会出现相应的工具,因为现在只是Silverlight发展的早期阶段。但在你使用Silverlight的时候,只是使用Silverlight和浏览器,如果使用WPF和XBAPS,只要在客户端有.NET,它们会和Siverlight看起来是一样的。


其他选择:
Laszlo / Java SWT / XUL / Bindows Flash/Flex

Flash/Flex

Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。
Flex是为满足希望开发 RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。

比较
Silverlight犹如Flash,WPF犹如AIR,XAML犹如MXML

你可能感兴趣的:(RIA/WPF/XAML/Silverlight)