欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

新一代WEB呈现技术:什么是Silverlight

程序员文章站 2023-11-17 12:25:46
新一代WEB呈现技术:什么是Silverlight  微软Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application的网络交互程序。  因为Silverlight提供了一个... 10-05-27...

  微软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---