WPF, WPF/E释疑

什么是WPF,经常看博客堂以及博客园的朋友,我相信眼睛都快磨出茧子来了。WPF嘛,就是现在称之为Windows Presentation Foundation,小名叫Avalon的那个东东,为了更好的实现Windows Vista体验的基础层架构,是.NET 3.0的一部分。如果一句话以蔽之,就是一个更有生产力的、更统一的用来管理用户界面、文档及多媒体等的模型。再仔细说说,更有生产力就是指开发丰富实用外观不费劲,易于快速开发,而更统一则是指开发B/S以及C/S可XAML方式以统一知识域,不需要分而化之。

讲到WPF,就要提到XAML,XAML是WPF的声明性语言,提供对界面、文档以及多媒体等界面层逻辑的渲染。而且XAML可以直接在IE中打开(如右图)。同时,还有一种XBAP方式(如左图),也可以在IE中打开。两者会有一些异同,这在下面会做表述。

那么WPF/E呢,可能知道者就比较少了。这里面的E是指的Everywhere,也就是可以让WPF到处可以运行。我们知道,WPF本身是WinFX也就是现在的.NET 3.0的一部分,所以想要运行WPF,客户端必须安装.NET 3.0,而.NET 3.0的安装条件是Windows XP、Windows Vista、Windows Server 2003、Windows Longhorn Server之四大金钢。那么你如果想让WPF到处可以运行,就必须首先做到.NET可以到处安装。虽然说有专家预计在Windows Vista推出24月之内,全球会有2亿用户会使用上已经内置.NET 3.0的OS。但还有很多兄弟们仍然战斗在其它操作系统、其它浏览器、其它设备上,如何让这些兄弟们可以共享WPF之乐呢?这就是WPF/E。

而WPF/E,小名Jolt,目前正在紧锣密鼓的开发当中,一些细节尚未披露,目前可以知道的是它是使用Javascript来实 现,用来使其可以跨平台、跨浏览器、跨设备来使用。它也同样采用有些异构化的XAML来编写(主要添加了一些特殊的Javascript标记)。

对于开发人员来说,喜欢究根问底。这些方式,.EXE, .XAML,.XBAP还有WPF/E到底有何异同?在各种场合下面应该如何使用呢?我相信很多人会非常好奇。虽然看了很多DEMO,相信也有一些朋友在一些细节上还是有很多模糊。在青岛的时候,我做了下面这个表(当时展波兄也通过越洋电话提供免费支持),希望对大家有帮助。

 

 .EXEXAMLXBAPWPF/E
IE宿主运行NoYesYesYes
支持其它浏览器NoNoNoYes
支持其它操作系统NoNoNoYes
跨设备NoNoNoYes
支持业务逻辑YesNoYesYes
需要.NET 3.0YesYesYesNo

 

希望对大家理解这些概念有所帮助。

补记:关于.NET 3.0的命名,我个人总觉得是一个败笔,因为.NET 3.0必须依赖于.NET 2.0的存在,没有.NET 2.0,则无法使用.NET 3.0,所以可以说.NET 3.0=.NET 2.0+WPF+WCF+WWF+WCS+...。同时原计划中的3.0有可能会被命名为3.5,而3.5倒不必依赖于3.0了,不然就没完没了了。据说当初之所以改名字是怕别人混淆,怎么刚推完.NET,又开始推WinFX了?归纳到同一品牌下我没有异议,但突然直接升级为3.0,倒使得此事有些让人混淆了,甚至有些同事至今都分不清WinFX与.NET 3.0的区别。

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值