.net Framework 3.0 -- SilverLight, 3D WPF, FireFox...

1 view
Skip to first unread message

bluefin

unread,
Jun 25, 2008, 2:14:32 PM6/25/08
to C# Guide
SilverLight可以看作是WPF的一个简化版本,或者一个轻量版本。

SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安
装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限
制)。

WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的.Exe文件。WPF运行时必须安装.net Framework 3.0。这就
要求WPF目前运行的操作系统必须是Windows Vista或者Windows XP SP2。

此外,SilverLight作为WPF的一个轻量级的版本,比WPF削减了很多功能。

比如,WPF支持直接在XAML中绑定触发来触发动画,而SilverLight就只能通过托管代码或者Javascript来进行。

另外,WPF直接支持3D效果和3D镜头变换,但是SilverLight就不支持这个了。

由于名称的关系, WPF与WPF/E一直被认为是类似的东西。 其实两者除了呈现UI的部分使用的是共通语言 XAML 之外,两者在本质上有很大的
不同。甚至,XAML对WPF与Silverlight有不同的意义,也不能算是两者间"共通的语言。

XAML对WPF来说,是一种把.NET程序语言改用XML来描述的方式。换句话说,XAML用在WPF上,像是另外一种程序语言。与C#,
VB , IronPython相似。所以XAML能做的, C# , VB一样都可以做到。但是反过来, C# , VB 能做的,XAML不一定能
做到,因为XAML是为了配合开发工具,特别设计出来的一种语言,本身有他的局限性,所以还是得配合正规的程序语言,才能完成一个真正有用的程
序。

但是以目前XAML所具备的能力,不靠C# , VB而做到平常简单Flash可以做到的,应该是没啥问题。因此, Application =
Code + Markup的作者Petzold才会把这本书的结构写成先用以C#来写WPF程序,后半部才介绍XAML。 避免大家误解 WPF
= XAML。

XAML还可以用在WF上,所以并不局限于WPF。 如果用了XAML,以为这就是WPF的全部,就大错特错啰!

然而,XAML对Silverlight来说,本质比较贴近SVG。XAML用来描述构成画面的结构树,然后配合Javascript去操作这颗表示
UI的树,以达到互动的效果。 所以对Silverlight来说, XAML像是用来扩充HTML/CSS原本不足的一组Tag。就像Firefox
之中,一样可以用Javascript去操作SVG所描述的画面,藉以达成多媒体效果。
Reply all
Reply to author
Forward
0 new messages