图解Silverlight 3的7个新功能

开发 后端
在刚刚结束的Mix09大会上(Mix是微软面向web开发者和设计者的会议),Silverlight团队的程序经理Joe Stegman介绍了silverlight3的许多让人兴奋的新功能.

1. 支持更多的媒体编码格式

在Silverlight 3中新增加的多媒体编码格式包括H.264,AAC,MP4。Silverlight这项技术,从出生以来,就一直把对多媒体,尤其是视频的支持,放在首要位置。这次对更多的编码格式提供支持,方便网站建设者更容易的发布、部署视频资料,只需要如下一行XML:

2. 利用GPU加速

随着显卡计算能力的加强,应用程序把越来越多的图形计算任务从CPU中拿出来交给GPU完成。然而,要利用到GPU,对程序员而言通常意味着更多的编码任务,在Silverlight 3中,这个任务的复杂程度被大大简化,只需要在XAML中多加入几行XML代码,就可以轻松享受GPU的超强计算能力,贴一张GPU渲染的效果图:

3. 透视化3D

透视化3D,简单的说,就是把2D对象放到3D空间中去。和传统的3D把一个3D空间的对象投影到2D空间中不同,透视化3D意味着更高的性能,更友好的编程接口,同时能完成我们80%的3D任务。好了,说了那么多,来看一个demo,一行XAML带来的变化:

以上这个例子,稍加扩展,就可以在Silverlight 3中,在3D空间中旋转一个控件。

4. 自定义特效

在Silverlight 3中,引入了shader的概念,它是一个像素粒度的操作——每当Silverlight 3要显示一个像素的时候,它对shader说:“我要显示这个像素了,你是否要做些处理,实现某些特效?”。我们来看看shader的强大之处:下面一个示例中,左边的图像是背景图像,右边的图像是前景图像,在Silverlight 3之前,我们尽管可以同时显示这两个图像,但是背景图像会被前景遮住。(当然可以设 置前景的透明度,但是这样整个前景图像的清晰度就下降了)我们在显示前景图像的时候可以应用一个shader:把所有的黑色过滤掉。这样,我们在前景上过滤掉所有黑色背景的同时,还拥有了一个清晰的火焰。

5. 更多的控件支持

每一个新的Silverlight版本的发布,都伴随着很多新的控件的问世。这个版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在这里举一个“Save as...”(另存为)控件的例子。可能有的朋友会问,“另存为”作为一个耳熟能详的控件,为什么要等到Silverlight 3才提供?答案是出于安全性的考虑:Silverlight为了保护用户的安全,对本地文件的读写有很大的限制。(否则的话,如果服务器端可以随意读写用户的本地文件,那么就很容易做出一个钓鱼网站了)。Silverlight 3中,对另存为控件的支持也有着安全性的考虑。开发人员可以创建一个SaveFileDialog实例,但是当用户选定本地文件的时候,他只能得到这个文件的stream,而不是这个文件的路径。这样的设计避免了提供一个打开任意路径的本地文件的功能,从而使Silverlight运行在一个更为安全的环境中。

6. 本地消息传递(local messaging)

Silverlight是浏览器的一个插件,在同一时间可能会有多个实例。比如多个浏览器同时访问包含Silverlight的网页,就会有多个Silverlight的实例同时运行,本地消息传递允许这些不同的siliverlight控件实例之间互相通信。

7. 在浏览器外运行Silverlight

Silverlight 3支持把一个Silverlight页面安装到本地,用户可以像一个桌面程序一样离线使用这个程序,并且可以右键卸载这个程序。

比如下面一个浏览器中运行的国际象棋程序,用户可以在右键菜单中,把它存储为一个本地程序。

然后,就可以像一个普通的桌面程序一样,运行这个程序了。同时,也能在这个桌面程序的右键菜单中卸载这个程序。

博文链接:http://blog.csdn.net/SilverlightShanghai/archive/2009/03/24/4019234.aspx

【编辑推荐】

  1. 用Silverlight 3的位图API实现可写位图
  2. 见微知著 Silverlight 3与Flash横向比较
  3. 在Eclipse中开始Silverlight编程之旅
责任编辑:彭凡 来源: CSDN
相关推荐

2009-11-26 14:16:06

Java 7

2012-07-10 10:08:32

红帽RHEL 7

2009-07-07 08:46:11

微软Windows 7新功能

2009-08-05 16:19:19

2010-09-06 10:52:05

Silverlight

2009-03-27 09:26:36

SilverlightSilverlight微软

2009-02-18 21:16:16

2009-09-22 15:24:20

Windows 7新功文件管理

2009-09-22 15:15:02

Windows 7新功文件搜索Windows Sea

2009-07-07 08:51:00

微软Windows 7新功能

2010-08-02 14:52:38

FlexBuilder

2021-08-01 22:46:10

iOS苹果系统

2009-06-01 14:59:50

css3.0css3

2024-03-11 14:34:04

JavaScript开发

2009-09-22 16:03:55

Windows 7新功媒体中心

2009-09-22 15:31:50

Windows 7新功家庭组网络共享

2009-09-22 15:47:11

2009-09-22 15:59:57

Windows 7新功Jumplist开始菜单

2009-09-22 15:52:30

Windows 7新功磁盘加密Bitlocker

2009-03-08 19:05:05

Windows 7企业版
点赞
收藏

51CTO技术栈公众号