技术开发 频道

如何让WPF与你的架构相适合?(1)

 
   采用WPF
    WPF与.NET 3.0 Framework一起运转,支持Windows XP SP2, Windows Server 2003和Windows Vista。采用WPF时有一个关键因素。如果你不能在你的用户机器上安装.NET 3.0 Framework,你就不能使用WPF为客户应用程序服务。
    如果你马上使用WPF,另一个要考虑的关键因素与开发表示层技术的能力有关。尽管运转时间WPF 库是the .NET Framework 3.0的一部分,将在06年11月发行,但是WPF的设计时间工具在Visual Studio的下一个版本(叫做Orcas)发行时才会发行。现在有Orcas设计器的CTP版本可用于WPF,但是与Windows Forms 或是 ASP.NET 设计器比起来,CTP版本相当不成熟。现在也有Expressions Interactive Designer测试版(一种的新开发WPF应用程序的设计工具),但是在被承认是可用的产品代码之前,还有很长的路要走。它面向专业设计师而不是软件开发者,因此你将会体验到和在Visual Studio里不同的东西。
    由于WPF设计工具系列的现状,你必须仔细考虑是否在.NET 3.0发行时你就马上采用WPF还是等到设计工具更成熟时再用。如果你试图开发标准的商业应用程序(有很多传统控件例如按钮,文本框,组合框,数据网格),然后在使用WPF开发这些应用程序时,生产力可能不大。生产力的降低一部分是由于采用新技术要走一些弯路,但就算不会那么艰难,也会因为设计时间工具的不成熟导致你的发展计划受阻。你不得不使用XAML, C#或 VB代码,而不是使用设计器的拖放操作控件,来开发大部分的用户界面。在这一点上,WPF设计器中有一些控件拖放定义的性能,随着时间的推进,这些性能终究会成熟。但是现在对于定义你的windows版面布局及组合控件特性和数据绑定上,WPF设计器和 the Windows Forms 设计器之间在性能方面仍有很大的差距。现有可用的控件装置有一些缺点,由于明显缺乏数据绑定网格控件,使得在WPF中普通商业应用软件的使用情况比在Windows Forms中更困难。
    另一方面,如果你想采用WPF来利用WPF中丰富的图形处理能力,例如3d模式,动画,丰富的应用程序风格,使用WPF要比使用Windows Forms更快更清楚地完成这些任务。它真正取决于你想完成什么任务。代码按钮,文本框,窗体的交替使用可能会把你的应用程序的外观和图形性能发展到一个更高的水平。可视的引人注目的应用程序可以区别对待表面层技术的成功与失败,尤其当目标对象是消费者时。
    减轻主流商业应用程序生产力潜在损失的一个办法就是使用Windows Forms 和 WPF结合体。在本文后面讨论的两种技术有很好的互用性性能。当每一种技术都充分使用时,你可以在单个应用程序中利用互用性来使用Windows Forms 和WPF。你也可以使用这种性能逐步将现有的应用程序转移到WPF中。

WPF应用程序形式

   这里有两种WPF应用程序可供选择,传统windows桌面应用程序和XAML 浏览器应用程序。WPF windows应用程序以自己的过程在用户桌面上运转,可以利用客户机器上的.NET Framework, WPF,和其他资源的全部性能。XAML浏览器应用程序是在浏览器中运行的WPF应用程序。
   XAML浏览器应用程序是在浏览器中运行的WPF应用程序这一概念容易让人误解。WPF不是其他网络技术的替代品。网络浏览器客户技术最显著的特点就是它们能在多个浏览器和多个平台上运行。换句话说,你的用户可以运行在比在Windows桌面应用程序更广泛的配置上。一个XAML 浏览器应用程序和大型配套桌面WPF应用程序有相同的限制,即客户机器必须安装有.NET 3.0 Framework。那意味着客户机必须是Windows XP SP2或者更新版的。那是一个更有限制性的设置,而不仅仅说他们需要一个兼容的浏览器。
   要注意到XAML浏览器应用程序还有另外一个限制。他们只允许从代码访问安全区域运行的安全许可(基于你在浏览器内访问的地址)。这意味着每一个XAML浏览器应用程序将在局域网或互联网上运行,这有严格的限制许可。结果,使用XAML浏览器应用程序,除了显示丰富的图形或使网页呼叫回到原始站点,你不能做更多的事情。你的XAML 浏览器应用程序不能访问客户文件系统和数据库,除了回到它出发的原始网站外你不能使网页回到其他站点。 
   你可能会想既然有这么多缺陷,为什么还要使用XAML浏览器应用程序。我认为主要原因是如果用户通过现有的网站或入口实现你要的功能,就要展现一个一致的用户体验。通过使用WPF,你提供的体验比用其他网络技术提供的体验要更丰富,联系得更紧密。但是对于用户来说,他们好像进入到站点的另一页,而事实却是“那一页”正在使用WPF。如果在机器上安装了.NET 3.0这将是很显然的。

0
相关文章