如果要令人信服地讨论为什么要使用WPF构建前台,我们需要将其和其他可选方案进行一番比较。一些常见的候选技术为Web、Swing、Flash、Windows Forms甚至是Win32。#t#
与Web前台相比,WPF的交互性更强。近来构建交互式Web应用程序的标准有所提升,但是尽管AJAX与经典的HTML相比大大提高了交互行为,它在某些时候仍然显得不够。
可能我们已经习惯Web应用程序低劣的交互性,因此我们遇到操作性不太差的Web应用程序就会心满意足了。即使是用于体验***的AJAX应用程序,以富客户端的标注来看也能算是一般。
此外,尽管AJAX工具发展迅猛,开发一个交互体验令人满意的AJAX应用程序所花费的精力,比使用富客户端技术开发一个差不多的应用程序依旧要高不少。同时WPF应用程序还能够在客户机与网络断开的情况下工作。
解决Web应用程序这方面问题的举措已经开始了,不过到目前为止,不稳定连接下的***解决方案还是使用富客户端应用程序。
与Swing相比,WPF构建前台有两个显著的优势。首先是WPF的数据绑定系统,尤其是稍后会提到的XML绑定以及数据模版特性。第二个优势则是把双刃剑,您可能会因此放弃使用WPF,那就是WPF是为Windows平台设计和运行的。
这意味着WPF能够充分利用本地PC的各种能力,尤其是图像硬件的能力。这能使某些特性能够更好的运行,例如高级数据可视化的高性能呈现能力,或使用动画或视频作一些装饰性的点缀。
尽管Flash能够提供一些与WPF构建前台类似的装饰能力,例如动画和视频重放,但是如果您希望构造外观和行为与普通Windows应用程序相似的应用程序就有些困难了。WPF的重要特性之一,就是它既提供了高级视觉效果,也提供了用户熟悉的标准Windows控件。