新一代WEB呈现技术:什么是Silverlight
微软Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application的网络交互程序。
因为Silverlight供给了一个壮大的平台,能够开发出具有专业图形、音频和视频的Web利用程序,加强了用户体验,所以SilverLight吸引了设计人员和开发人员的眼球。同时,Silverlight还供给了壮大的工具来进步他们的工作效率。
Silverlight能创立一种具有很高艺术性的利用程序,具有以下的特点:
◆一种跨浏览器、跨平台的技术。可以在所有风行的浏览器中运行,包含Microsoft Internet Explorer、Mozilla Firefox, Apple Safari, 和Opera,同样可以运行于Microsoft Windows和Apple Mac OS X。
◆无论在哪运行,都能供给一致的用户体验。
◆需要下载很小的文件来安装以支撑,只需几秒。
◆它的视频和音频流,视频质量无论从移动设备还是桌面浏览器都是720p HDTV video模式。
◆用户可在浏览器中直接对其进行把持,可以拖动、翻转、放大的图片。
◆它读取数据并且更新外观,但不会通过刷新整体页面来打断用户操作。
Silverlight将多种技术联合到一个开发平台,可以在其中选择符合需求的合适的工具和编程语言。SilverLight供给了如下的特点:
◆WPF和XAML。Silverlight包含了Windows Presentation Foundation(WPF技术,这个技术在创立用户界面时极大的扩大了浏览器元素。WPF可以创立融合图形、动画、媒体和其他的富客户端特点,扩大了基于浏览器的用户界面,超出了HTML所供给的。可扩大利用程序标记语言(XAML供给了创立WPF元素的声明性标记。
◆对于JavaScript的扩大。Silverlight供给了对于全球浏览器脚本语言的扩大,从而为浏览器用户界面供给更加壮大的控件,包含与WPF元素工作的能力。
◆跨浏览器,跨平台的支撑。Silverlight在所有的风行浏览器(任何平台运行一致。设计和开发利用程序不需要担心你的用户是什么平台什么浏览器。
◆与现存利用程序的集成。Silverlight可以与已经存在的JavaScript和ASP.NET AJAX代码无缝集成,不会使已经创立的功效缺失。
◆可访问.NET Framework编程模型和相干工具。可以利用托管的Jscript和IronPython或者C#和VB这样的动态语言来创立基于SilverLight的利用程序。可以利用Visual Studio这样的开发工具来创立基于Silverlight的利用程序。
◆LINQ。Silverlight包含集成查询(LINQ语言。
◆如果已经利用ASP.NET,可以将Silverlight集成到熟悉的ASP.NET服务器和客户端功效。可以在ASP.NET中创立基于服务器的资源,利用ASP.NET的AJAX特点与服务器端资源交互而不会打断用户。
开发工具:
可以利用已经具有的技巧和熟悉的工具来创立基于Silverlight的利用程序,在Web页面中,既可以利用HTML,也可以利用Silverlight的WPF元素,和HTML一样,在Web利用程序中XAML同样可以利用声明的标记来创立用户界面,不同的是,XAML供给了更壮大的元素。
可以利用壮大的Visual Studio 2008 创立Silverlight利用。(Silverlight在Visual Studio 2008 的IDE中作为一个插件而得到支撑。同样Visual Studio为Silverlight供给了开发工具,比如.NET Framework中已经为创立利用程序供给的壮大的编辑器、项目管理、调试等等。
设计人员可以轻松的拥有利用Expression Studio进行设计、编译和发布Silverlight利用程序。Expression Studio有创立图像、媒体,设计交互和产生体验需要的一切能力。Expression Blend能够生成XAML进行输出,这样利用Visual Studio的程序员和利用Expression Blend的设计人员可以共享同样的文件。
Silverlight 的核心是浏览器加强模块,其作用是浮现 XAML 并在浏览器界面上绘制生成的图形。它的下载体积较小(不到 2 MB),可以在用户点击包含 Silverlight 内容的站点时进行安装。该模块向 JavaScript 开发人员公开 XAML 页面的底层框架,以便实现页面级的内容交互,这样,开发人员就可以进行自己的工作,例如编写事件处理程序或利用 JavaScript 代码来处理 XAML 页面内容。
在此,可以表明微软的Silverlight将会更加机动和交互,并且具有超高的矢量方法,可以对图像进行无穷制的伸缩,对flash MX地位发起了寻衅。
2008年6月底,微软发布silverlight2.0 beta,在2008长沙奥运会时,NBC网站利用了silverlight2.0进行奥运的网上全程直播和点播。
Silverlight 2
Microsoft 努力援助掩护您的隐私,同时为您供给个人计算所需的性能精良、功效壮大且便于利用的软件。此隐私声明对 Microsoft Silverlight 2 ( "Silverlight" 的数据收集和利用惯例进行了阐明。此隐私声明不实用于其他联机或脱机的 Microsoft 网站、产品或服务。
Silverlight 可援助您利用 Internet 浏览器访问和体验网站上的丰富内容。此隐私声明对 Silverlight 如何与 Microsoft 进行交互来为您供给 Silverlight 更新以及其他支撑 Internet 的功效进行了阐明。
Silverlight 不会恳求您供给接洽信息,例如姓名、地址或电话号码等。但是,Silverlight 有时会通过 Internet 将奇特的电脑特定信息传递到 Microsoft。
基于 Silverlight 的利用程序可能会出于各种原因而在您电脑本地存储数据文件:为了保存自定义设置、为了存储具有大批图形特点的大型文件(例如游戏、地图和图像),以及为了存储在某些特定利用程序中创立的内容。利用程序存储在默认情况下是出于开启状态的,但网站最初会被限制为存储容量总计 1MB。如果利用程序恳求 1MB以上的容量, Silverlight 就会询问您是否要为承载该利用程序的网站增长可储存空间。
Silverlight 3 Beta
1. 支撑更多的媒体编码格式
在Silverlight3中新增长的多媒体编码格式包含H.264,AAC,MP4。Silverlight这项技术,从出身以来,就一直把对多媒体,尤其是视频的支撑,放在重要地位。这次对更多的编码格式供给支撑,方便网站建设者更容易的发布、安排视频材料,只需要如下一行XML:
2. 利用GPU加速
随着显卡计算能力的加强,利用程序把越来越多的图形计算任务从CPU中拿出来交给GPU完成。然而,要利用到GPU,对程序员而言通常意味着更多的编码任务,在Silverlight3中,这个任务的复杂程度被大大简化,只需要在XAML中多参加几行XML代码,就可以轻松享受GPU的超强计算能力。
3. ****化3D
****化3D,简略的说,就是把2D对象放到3D空间中去。和传统的3D把一个3D空间的对象投影到2D空间中不同,****化3D意味着更高的性能,更友爱的编程接口,同时能完成我们80%的3D任务。
4. 自定义特效
在silverlight3中,引入了shader的概念,它是一个像素粒度的操作——每当silverlight3要显示一个像素的时候,它对shader说:“我要显示这个像素了,你是否要做些处理,实现某些特效?”。我们来看看shader的壮大之处:下面一个示例中,左边的图像是背景图像,右边的图像是远景图像,在silverlight3之前,我们尽管可以同时显示这两个图像,但是背景图像会被远景遮住。(当然可以设 置远景的透明度,但是这样全部远景图像的明确度就降落了)我们在显示远景图像的时候可以利用一个shader:把所有的黑色过滤掉。这样,我们在远景上过滤掉所有黑色背景的同时,还拥有了一个明确的火焰。
目前,除了官方供给的暗影(shadow)和含混(blur)shader利用GPU加速,其他的shader仍需运行在CPU上。
5. 更多的控件支撑
每一个新的silverlight版本的发布,都伴随着很多新的控件的问世。这个版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在这里举一个“Save as...”(另存为控件的例子。可能有的朋友会问,“另存为”作为一个耳熟能详的控件,为什么要等到silverlight3才供给?答案是出于安全性的考虑:silverlight为了掩护用户的安全,对本地文件的读写有很大的限制。(否则的话,如果服务器端可以随便读写用户的本地文件,那么就很容易做出一个钓鱼网站了)。silverlight3中,对另存为控件的支撑也有着安全性的考虑。开发人员可以创立一个SaveFileDialog实例,但是当用户选定本地文件的时候,他只能得到这个文件的stream,而不是这个文件的路径。这样的设计避免了供给一个打开任意路径的本地文件的功效,从而使silverlight运行在一个更为安全的环境中。
6. 本地消息传递(local messaging)
Silverlight是浏览器的一个插件,在同一时间可能会有多个实例。比如多个浏览器同时访问包含silverlight的网页,就会有多个silverlight的实例同时运行,本地消息传递容许这些不同的siliverlight控件实例之间互相通信。
7. 在浏览器外运行silverlight (Out of Browser)
silverlight3支撑把一个silverlight页面安装到本地,用户可以像一个桌面程序一样离线利用这个程序,并且可以右键卸载这个程序。
Silverlight安装配置与注意事项
[1]作为Microsoft现下火热推出的新一代的网络技术,Silverlight受到了相当的关注。一项能跨浏览器,跨平台(原文为cross browser,cross platform,当我在官网上看到这两句的时候着实小小的吃惊了一下)更直观联动前台和后台的技术,无疑让更多B/S开发人员感到高兴。
到底Silverlight应当怎么懂得?可能大家第一眼见到它的时候,感到和Flash没什么差别——至少视觉效果上如此。但当你懂得到这个“类Flash”的东西除了能实现Flash的全部功效外,竟然还能进行数据绑定的时候,断定会感到相当的新奇!能随时更改按钮链接的“Flash”!能显示数据库数据的“Flash”!能实现前后台交互的“Flash”!Just think about it!
无论你只是抱着看一看的态度也好,想深入懂得也好,Silverlight都有足够的理由让你一试,因为它的安装和配置是多么的简略直观……
必备的软件平台:(来自http://silverlight.net/GetStarted/)
Visual Studio 2008 beta2,代号Orcas的IDE,大家断定都知道了
Silverlight 1.0 and 1.1 Alpha,目前Silverlight利用的两个版本
VisualStudio SilverlightTools Alpha,对应Visual Studio的Silverlight工具
Expression Blend 2 September Preview,用于开发Silverlight视觉的工具,Flash与Photoshop的联合体
以上软件的安装次序应当是Visual Studio 2008 beta2---