《40.Silverlight部署和本地化》
(提示:如果视频分为多个小段,请下载后用视频合并软件合并。)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地位发起了挑战。
后续版本
Silverlight 1.0
Silverlight1.0适用于Mac和Windows。Silverlight 1.0侧重启用浏览器中的富媒体情境。我们只能使用Java脚本来创建1.0版本的Silverlight应用。
Silverlight 1.1
Silverlight 1.1将包含跨平台版本的.NET框架,且会在浏览器中允许富.NET开发体验。它包含了我们现在所使用的完整.NET框架基础类库的一个子集,包括对于集合,泛型,IO,线程,全球化,网络(包括网络服务和REST支持),HTML DOM,XML,本地存储和LINQ的支持。我们将能够使用任意.NET语言来开发Silverlight应用(VB,C#,Javascript,Python,Ruby,Pascal等)。
Silverlight 2
2008年6月底,微软发布silverlight2.0 beta,在2008北京奥运会时,NBC网站使用了silverlight2.0进行奥运的网上全程直播和点播。
Microsoft 努力帮助保护您的隐私,同时为您提供个人计算所需的性能优异、功能强大且便于使用的软件。此隐私声明对 Microsoft Silverlight 2 ( "Silverlight" ) 的数据收集和使用惯例进行了说明。此隐私声明不适用于其他联机或脱机的 Microsoft 网站、产品或服务。
Silverlight 可帮助您使用 Internet 浏览器访问和体验网站上的丰富内容。此隐私声明对 Silverlight 如何与 Microsoft 进行交互来为您提供 Silverlight 更新以及其他支持 Internet 的功能进行了说明。
Silverlight 不会要求您提供联系信息,例如姓名、地址或电话号码等。但是,Silverlight 有时会通过 Internet 将独特的计算机特定信息传递到 Microsoft。
基于 Silverlight 的应用程序可能会出于各种原因而在您计算机本地存储数据文件:为了保存自定义设置、为了存储具有大量图形特性的大型文件(例如游戏、地图和图像),以及为了存储在某些特定应用程序中创建的内容。应用程序存储在默认情况下是处于开启状态的,但网站最初会被限制为存储容量总计 1MB。如果应用程序要求 1MB以上的容量, Silverlight 就会询问您是否要为承载该应用程序的网站增加可储存空间。
Silverlight 3
2009-7月 Silverlight3正式发布
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 4
2010年4月16日 微软Silverlight 4 正式发布
最新版本号为4.0.50917.0。Silverlight是一个跨浏览器的、跨平台的插件,为Web带来下一代多媒体体验和丰富的交互式应用程序体验。Silverlight并不是视频播放器,而是微软为了争夺急速增长的在线视频市场而开发的新一代插件工具。
微软Silverlight 4提供一整套强大的功能给商务应用程序开发人员,将最佳的 .NET 平台带入浏览器架构的经验之中。Silverlight 4同时针对客户所面对、以及工作人员所面对的应用程序提供了开发和部署现代商务应用程序的理想平台。
商务应用程序开发
Silverlight 4 将自己定位成在 Web 上建立商务应用程序的自然选择:
适用于应用程序开发人员的新功能
广泛的打印支持启用了书面报表和文件,以及虚拟打印检视,不论屏幕的内容为何。
包含超过 60 个可自定义、可设定样式组件的一整组表单控件。新的控件包括了具有超链接、影像和编辑与屏蔽文本框的 RichTextbox,以进行复杂的字段验证。增强的控件包括了具有可排序/可重设大小的栏和复制/贴上列的 DataGrid。
WCF RIA Services 引入企业等级的网络和数据存取,以建立多层式架构 (N-Tier) 应用程序,包括了交易、数据分页、WCF 和 HTTP 增强。
本地化的增强,包括了双向文字、由右至左支持和复杂的脚本,例如阿拉伯文、希伯来文和泰文以及 30 种新语言。
.NET Common Runtime (CLR) 现在可让同一份编译好的程序代码无须修改地执行于桌面和 Silverlight 上。
增强的数据系结支持,包括了透过在系结之中进行数据群组/编辑和字符串格式设定,来增加弹性和产能。
受管理的扩充性架构支持建立大型的复合应用程序。
独一无二的 Silverlight 工具支持,这是 Visual Studio 2010 中的新功能。包括了可完整编辑的设计接口、拖放式数据系结、自动绑定控件、数据源选择、与 Expression Blend 样式资源整合、Silverlight 项目支持和完整的 IntelliSense。
开发人员工具
可绘制控件和配置的可完整编辑的设计接口。
丰富的属性方格,和新的数值编辑器。
数据系结的拖放支持,以及自动建立绑定控件,例如 listbox、datagrid.新的数据源窗口和选择器。
根据建立于 Expression Blend 中的设计人员资源,轻松挑选样式和资源,以建立美观的应用程序。
针对 Silverlight 应用程序提供内建的项目支持。
具备 XAML 和 C# 和 VB 语言的完整 intellisense 的编辑器。
提供更丰富、更互动的经验
Silverlight 已经是使用中的一个广泛平台,可同时针对应用程序和单纯的媒体案例 (包括了 HD 质量、透过 Smooth Streaming 的互动视讯) 建立丰富的经验。Silverlight 4 提供额外的功能来让您建立更丰富、更吸引人的高效能互动经验和创新的媒体经验:
流畅的接口增强可透过动画效果提升应用程序的使用性。
网络摄影机和麦克风可让您在聊天或客户服务应用程序等情况中分享视讯和音频。
音频和视讯本机录制功能无须服务器互动即可撷取 RAW 视讯,因而启用了众多的用户互动和通讯案例,例如视频会议。
以复制和贴上或拖放等功能将数据放到您的应用程序内。
长列表现在可以用鼠标滚轮轻松地卷动。
透过右键内容菜单等新功能支持传统的桌面互动模型。
支持 Google 的 Chrome 浏览器。
效能优化意指 Silverlight 4 应用程序可以更快地启动,并且执行速度是相等的 Silverlight 3 应用程序的 200%。
多重触控支持可将许多笔势和触控互动整合至使用者经验之中。
多播网络可让企业降低串流广播事件的成本,例如公司会议和训练,并且完美地与现有的 Windows Media Server 串流基础结构互通。
PlayReady 增强了以 Silverlight DRM 来保护 H.264 媒体的内容。
音频/视讯串流的输出保护可让内容拥有者或散发者确保受保护的内容只能经由安全的视讯联机来检视。
超越浏览器
Silverlight 3 率先提供新等级的多样化因特网应用程序 (Rich Internet Applications) 以运作于桌面上,完全不需要额外的程序代码或 Runtime。Silverlight 4 更扩充此功能:
针对沙盒应用程序
将 HTML 放在您的应用程序内,以便更紧密地与 Web 服务器的内容整合,例如电子邮件、说明和报表。
提供「弹出式」通知窗口的支持,以便让应用程序在用户运作另一个应用程序时,透过任务栏上的弹出窗口,告知状态或变更信息。
脱机 DRM 可让具备 PlayReady 技术的现有 Silverlight DRM 脱机工作。受保护的内容可以透过持续性的授权来提供,如此使用者可以立即脱机,并开始享用其内容。
控制 UI 的各个层面,包括了窗口设定,例如开始位置、大小和组件区块。
针对受信任的应用程序
读取和写入档案至使用者的 MyDocuments、MyMusic、MyPictures 和 MyVideos 文件夹 (或非窗口平台的对等文件夹),例如储存媒体档案和取得报表的本机副本。
执行 Office 等其他桌面程序,例如要求 Outlook 传送电子邮件、传送报表给 Word 或传送数据给 Excel。
COM 自动化可透过呼叫应用程序组件来存取装置和其他系统能力;例如存取 USB 安全性卡片阅读机。
新的用户接口,可在标准的 Silverlight 沙盒之外要求应用程序权限存取。
组策略对象可让组织调整哪些应用程序可拥有提高的信任。
在更多样化的信息站和媒体应用程序的全屏幕模式中提供完整的关键词支持。
网络的增强允许您在没有安全策略档案下跨网域存取。