Silverlight学习笔记1

  • 格式:docx
  • 大小:156.69 KB
  • 文档页数:5

概要
∙什么是Silverlight?
∙Silverlight和.net framework的关系
∙简单了解Silverlight平台
什么是Silverlight
1.类似Flash的效果在网页中,只是Silverlight很好
的和服务器通讯,可以利用Silverlight提供更好的
界面体验同时强于Flash。

2.它是一个典型的运行在“沙箱”中的程序,也就是说它
只能有限的访问客户端机器上的资源,但可以提供很
好用户体验。

3.如果要比较只能把它和Flex技术进行比较。

为了理
解方便我才在前面提及到Flash。

以上表明了一点,如果我们想运行Silverlight就必须安装它的“插件”,就是Microsoft Silverlight 3 Developer Runtime。

当你安装Silverlight SDK 或Silverlight Tools 3.0 software for VS2008的时候它就会被安装。

只有安装了Runtime才能运行Silverlight的应用程序。

这个Runtime的安装包中包含:
1.承载Silverlight应用的程序的插件。

2.支持运行程序的基础架构。

Silverlight 和.net framework的关系
严格意义上,Silverlight是.net frameworkd的子集。

Silverlight拥有自己的一套framework,被称为 .net framewor for Silverlight。

虽然这个framework看上去类似于.net framework的架构体系,但实际上他们是不一样的。

.net framework for Silverlight 是全新的,但受.net framework 的支持。

如果你的机器并没有安装.net framework 包也一样可以运行Silverlight,只要你安装了Microsoft Silverlight 3 Developer Runtime。

以下几点要注意:
1.如果你建立一个基于.net framework的项目,在项
目中你可以应用Silverlight的相关程序集包括
SDK和runtime。

2.如果你建立了一个Silverlight的应用程序或类库项
目,那么你想在其中引用.net framework中的程序
集是不可能的。

因为在Silverlight的范围内是不支
持.net framework的。

也就是说,对于.net framework而言,它能支持Silverlight,但对于Silverlight而言它是不支持面向.net framework的开发的。

这也就意味着如果你在开发Silverlight的应用程序的话,那么你原有的基于.net framework的东西是无法直接使用的。

但在vs2008中可以调整一个类库项目的属性转变当前的.net framework的项目为一个.net framework for Silverlight
的项目。

设置步骤:选中项目文件>右击>点击属性>在属性的“应用程序”中>>勾选“仅使用客户端框架”现在我们其实面对了两个.net framework, 一个是传统的一个是面向Silverlight. 虽然他们使用不同的框架在开发,但他们两者有高度的相似度,几乎原来定义在.net framework上基础类在Silverlight的框架中都原封不动的保留下来,包括类的名称,用法等。

这样做有一个好,我们只需要引用不同框架下的相应程序集就可以实现从.net framekwork到Silverlight的转变。

简单了解Silverlight平台
在开始了解Silverlight平台前,请看看先前章节中提到的xap包。

你可以将Hello word application(也许你完成了,如果没有你可以建立一个新的,直接编译就可以了)项目中位于ClientBin文件夹下的HelloWorld.xap复制到任何一个地方,将其后缀名由xap改成zip.然后用工具打开看看所谓的程序包里到底装了写什么东西。

如果你做的程序足够简单你会看到两个文件
AppManifest.xaml 和HelloWorld.dll文件,这些文件会被下载到客户端,然后被客户端runtime运行。

这里经历了几个步骤:
1.获得请求后,Silverlight的xap包及相关的资源会
被下载到本地(这个过程是由Silverlight插件触发
的)。

2.在客户端,一旦程序包下载完毕就会将其载入到程序
域中执行。

也就是说,Silverlight的平台是运行在客户端的,并不是像那样运行在服务器端的。


于Silverlight平台而言,它是由核心表现层框架、.NET Framework for Silverlight 和一个
安装程序和更新组件组成。

组件说明
核心表示层框架面向UI 和用户交互的组件和服务(包括用户输入、用于Web 应用程序的轻量
播放、数字版权管理和数据绑定)以及表示层功能(包括矢量图形、文本、动画
括用于指定布局的可扩展应用程序标记语言(XAML)。

.NET Framework for Silverlight .NET Framework 中包含组件和库的一个子集,其中包括数据集成、可扩展W
络、基类库、垃圾回收和公共语言运行时(CLR)。

.NET Framework for Silverlight 的某些部分是通过应用程序部署的。

这些"S
包括在Silverlight 运行时中但将在Silverlight SDK 中提供的程序集。

在应用
Silverlight 库时,它们会与应用程序打包在一起,并下载到浏览器中。

这些库包
XLINQ、整合(RSS/Atom)、XML 序列化和动态语言运行时(DLR)。

安装程序和更新程序是一个安装和更新控件,可简化用户首次安装该应用程序的过程,以后可提供低我不想从Silverlight Documentation 中copy这个到这里,但怎么能不说明呢?虽然不上面
的解释有些不适让人很好理解,然后总比没有一个标准的基础上再做解释来的好的。

同时我还要copy一幅说明它们的图到这里,不过在做后我会对这一切都一个明白的解释。

所以
希望你能看完。

你可以看到我把上面分割成了三个部分。

C:表示支持Silverlight 的安装和更新的组件。

也可以说C就是我们所说的插件,但不完全是。

集成网络协议栈:要通过网络通信就需要它。

DOM 集成:要和浏览器良好沟通就需要它,Silverlight是不可能不和浏览器打交道的。

应用程序服务:提供如果启动、装载和维持应用程序的必要服务,没有它Silverlight就无法运行。

安装程序:随着技术升级,相应的Microsoft Silverlight Developer Runtime也会不断更新。

它提供了一种智能更新必要组件的方式。

B:这个部分主要处理图形、呈现、媒体处理及接收输入等方面的处理,它主要和操作系统以及硬件方面的支持打交道。

没有它Silverlight是无法帮你提供多样化的视觉听觉及媒体处理方面的效果的。

B和A之间你可以看见是XAML,你可以通过XAML的定义直接访问B中提供的支持(原来传统的概念中,如果我们要去获得类似的支持只能通过.net framework提供的API在访问。

但现在你不仅仅可以通过API来用编程的方式来访问还可以通过XAML定义的方式来访问。

也就是说在这里你有了两套API可以使用来达到相同的目的。

当然XAML不仅仅是只能访问B中的功能而已。

几乎是你能用代码实现的用XAML也可以实现。

这是很有趣的一点。

A: 是.net framework for Silverlight 我们觉得比较熟悉的一个部分,它类似于.net framework的体系结构甚至类的名称几乎都是一样的,虽然它是全新的相对于.net framework而言。

这里我就不多解释了。

在A的右边灰色的区域并不属于.net framework for silverlight的一部分,它是为了支持能够在浏览器中通过脚本的方式来开发Silverlight而设计的。