软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 把WPF作为一种富客户端技术
全文

把WPF作为一种富客户端技术

2008-04-22 09:29作者:infoQ 赵劼出处:天极网责任编辑:孙蓬阳

  WPF,即Windows Presentation Foundation,是一套开发Windows应用程序的.NET API。已经有太多资料谈到WPF的出现让开发视觉效果非凡的应用程序变得前所未有的容易,不过其实WPF也是一种开发前端应用程序的强大技术,尽管这一点似乎关注的人不多。尤其在.NET框架对可连接系统(Connected Systems)强有力的支持下,通过结合WPF中的数据绑定能力,使WPF成为了一种富有竞争力表现技术,为使用Java、Ruby或.NET等任何技术开发的后台进行前台呈现。

  在这篇文章中,我们会把WPF和其他一些技术,例如AJAX/DHTML、Swing或Flash进行对比;然后我们会分享一些使用WPF作为客户端的合适场景,这些示例会使用Java作为后台开发技术。

  WPF的简单向导

  WPF是一个用于开发富客户端应用程序的平台。它是.NET 3.0框架的一部分,因此已经在Windows Vista中内置,此外它也能够在Windows XP SP 2以及Windows 2003中安装。构建WPF用户界面可以使用.NET对象模型,不过WPF也提供XAML——即eXtensible Application Markup Language——这是一种标记语言,使用户界面的表现能够独立于其行为进行设计。两种做法实际上是等价的,XAML只是提供了一种额外的语法。不过XAML语法是方便工具创建和使用而设计的,这样的工具能够使设计人员直接进行用户界面设计,而不需要任何编码技能。

  (有关WPF更详细的内容,请查阅http://wpf.netfx3.com/)

  WPF不是.NET框架中第一套用于开发富客户端的API。Windows Forms作为它的前辈,是构建在Win32的窗口系统之上的.NET封装层。尽管Windows Form在Win32之上添加了很多功能,但由于下层UI平台的限制,用它进行开发有时依旧会缩手缩脚。WPF没有构建在Win32的窗口系统上,而是构建于DirectX之上,这就使得WPF能够完全利用起本机显卡的能力。然而WPF并非只能用于开发视觉效果非凡的应用程序。

  WPF的最大优势,就是它将许多富客户端的特性集成在同一个平台上,其中大部分的独立特性都单独在其他UI技术中出现过。例如,WPF提供了构建矢量动画和视频的能力,这原本一直是Flash所专长的。WPF提供了传统的Windows控件,例如按钮、列表框以及树型控件等等,它们在Win32和Windows Forms中已经出现了很多年了。此外WPF还提供了流式文本布局,这原来是HTML的能力(尽管目前WPF的文本渲染能力远比HTML和CSS来的强大)。一些面向HTML的技术,例如JSP和ASP.NET,也曾使用过WPF中标记+后台代码的应用程序构建方式,不过它们只能提供最简单的3D支持,但是OpenGL和DirectX长久以来就拥有强大得多的3D渲染能力。

  WPF之前的技术都能各自独当一面,但是很难在同一个应用程序中使用不同的技术。例如,我们很难在Windows的按钮和下拉菜单中使用Flash的动画功能(Flash应用程序一般使用自行开发的控件,但是它们很难与操作系统的当前主题进行统一,可用性也比较差,而它们的行为一般也和真正的控件不同);我们也很难同时利用HTML中的流式文本布局和富客户端中的数据绑定技术。一般说来,如果您希望混合使用不同的技术,您的应用程序需要被分割为多个独立部分,而这几个部分之间的通信会非常困难,甚至几乎不可能实现。

  相反,用WPF就容易多了。不幸的是,目前许多展示这种集成能力的WPF示例都有些脱离实际。在一个流式布局的文档中嵌入一个普通的Windows按钮,再加上一个包含立方体的标题,这个立方体还被一个完整的视频动画包裹起来,这种做法的确能够说明同时使用不同的UI特性并非难事,但问题是,有谁会设计开发这样一个应用程序呢?

  事实上,您一般不会将所有的UI功能集成在一个应用程序中。这么做很容易让人想起早期的Web,许多站点都不假思索地利用所有可能的HTML特性。这种做法相当可怕,很长时间以后人们才了解该如何使用合适的技术来构建优秀的Web应用程序。同样道理,将WPF的各种可视化特性进行随意组合的确无比强大和灵活,但是使用其中有限的几种已经足够开发出有用的应用程序了。而且对于视觉效果一般的应用程序开发,WPF也提供了许多有用的支持。

共4页。 1 2 3 4 下一页 末页
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众