本主题介绍 Microsoft Silverlight 的基本结构和组件。Silverlight 不仅是一个漂亮的画布,可用来向最终用户显示丰富的交互式 Web 内容和媒体内容。它还是一个功能强大的轻量平台,可用来开发可移植、跨平台的网络应用程序,以便与来自许多源的数据和服务集成。此外,使用 Silverlight 生成的用户界面与传统 Web 应用程序相比,前者显著增强了典型的最终用户体验。
虽然,Silverlight 作为客户端运行时环境看起来简单轻便,但 Silverlight 开发平台集成了大量功能和复杂技术,并使它们可供开发人员访问。若要创建基于 Silverlight 的高效应用程序,开发人员需要具备该平台结构的使用知识。
|
---|
Silverlight 支持两个编程模型:Silverlight 的 JavaScript API 和 Silverlight 的托管 API。托管 API 基于 .NET Framework 的一个子集。本文中的许多功能仅由托管 API 支持。有关更多信息,请参见应用程序和编程模型。 |
|
---|
Silverlight 支持两个编程模型:Silverlight 的 JavaScript API 和 Silverlight 的托管 API。托管 API 基于 .NET Framework 的一个子集。本文中的许多功能仅由托管 API 支持。有关更多信息,请参见应用程序和编程模型。 |
|
---|
Silverlight 支持两个编程模型:Silverlight 的 JavaScript API 和 Silverlight 的托管 API。托管 API 基于 .NET Framework 的一个子集。本文中的许多功能仅由托管 API 支持。有关更多信息,请参见应用程序和编程模型。 |
Silverlight 平台作为一个整体,由两个主要部分以及一个安装程序和更新组件组成,如下表中所示。
组件 |
说明 |
---|---|
核心表示层框架 |
面向 UI 和用户交互的组件和服务(包括用户输入、用于 Web 应用程序的轻量型 UI 控件、媒体播放、数字版权管理和数据绑定)以及表示层功能(包括矢量图形、文本、动画和图像)。此外还包括用于指定布局的可扩展应用程序标记语言 (XAML)。 |
.NET Framework for Silverlight |
.NET Framework 中包含组件和库的一个子集,其中包括数据集成、可扩展 Windows 控件、网络、基类库、垃圾回收和公共语言运行时 (CLR)。 .NET Framework for Silverlight 的某些部分是通过应用程序部署的。这些"Silverlight 库"是未包括在 Silverlight 运行时中但将在 Silverlight SDK 中提供的程序集。在应用程序中使用 Silverlight 库时,它们会与应用程序打包在一起,并下载到浏览器中。这些库包括新的 UI 控件、XLINQ、整合 (RSS/Atom)、XML 序列化和动态语言运行时 (DLR)。 |
安装程序和更新程序 |
下图演示了 Silverlight 结构的这些组件以及相关组件和服务。
由 Silverlight 平台中包括的工具、技术和服务组成的组合集具有特殊价值:它们使开发人员能够更方便地创建丰富的交互式网络应用程序。尽管使用目前的 Web 工具和技术无疑也能生成此类应用程序,但开发人员会遇到很多技术难题,其中包括不兼容的平台、不同的文件格式和协议、以不同方式呈现网页和处理脚本的各种 Web 浏览器。在一个系统和浏览器中能够正常运行的丰富 Web 应用程序在另一个系统或浏览器中的运行效果会完全不同,也可能会失败。要构建具有以下优点的应用程序,使用目前的大批工具、协议和技术可能需要付出巨大的努力并且成本极高:
-
引人注目且易于访问的富媒体用户界面 (UI)。
-
Silverlight 使开发人员更容易生成此类应用程序,因为它克服了当前技术的许多不兼容性,并且在一个平台内提供了可用于创建跨平台的丰富集成应用程序的工具。
下表介绍前面部分和上图中所示的 Silverlight 平台的核心表示层功能。
说明 |
|
---|---|
输入 |
处理来自硬件设备(例如键盘和鼠标、绘图设备和其他输入设备)的输入。 |
UI 呈现 |
呈现矢量和位图图形、动画以及文本。 |
媒体 |
|
Deep Zoom |
使您能够放大高分辨率图像和围绕该图像进行平移。 |
控件 |
|
布局 |
可以动态定位 UI 元素。 |
数据绑定 |
可以链接数据对象和 UI 元素。 |
DRM |
可以对媒体资产启用数字版权管理。 |
XAML |
为 XAML 标记提供分析器。 |
开发人员可以通过使用 XAML 指定表示层详细信息来与此表示层框架进行交互。XAML 是 .NET Framework 和表示层之间的主要交互点。开发人员可以使用托管代码以编程方式操作表示层。
下表介绍了上图所示的 .NET Framework for Silverlight 功能列表中的部分功能。
说明 |
|
---|---|
数据 |
支持语言集成查询 (LINQ) 和 LINQ to XML 功能,这些功能简化了集成和使用不同源数据的过程。还支持使用 XML 和序列化类来处理数据。 |
基类库 |
一组 .NET Framework 库,这些库提供了基本编程功能,例如字符串处理、正则表达式、输入和输出、反射、集合和全球化。 |
Windows Communication Foundation (WCF) |
提供的功能可简化对远程服务和数据的访问。其中包含浏览器对象、HTTP 请求和响应对象、对跨域 HTTP 请求的支持、对 RSS/Atom 整合源的支持以及对 JSON、POX 和 SOAP 服务的支持。 |
CLR(公共语言运行时) |
提供内存管理、垃圾回收、类型安全检查和异常处理。 |
WPF (Windows Presentation Foundation) 控件 |
提供了一组丰富的控件,其中包含 Button、Calendar、CheckBox、DataGrid、DatePicker、HyperlinkButton、ListBox、RadioButton 和 ScrollViewer。 |
DLR(动态语言运行时) |
支持动态编译和执行脚本语言(如 JavaScript 和 IronPython),以编写基于 Silverlight 的应用程序。包括一个可插接式模型,用来添加对 Silverlight 所使用的其他语言的支持。 |
.NET Framework for Silverlight 是完整版 .NET Framework 的一个子集。它为以前不支持的应用程序类型(如 Internet 应用程序)提供了面向对象的可靠应用程序的基本开发。
开发人员可以通过使用 C# 和 Visual Basic 编写托管代码来与 .NET Framework for Silverlight 层进行交互。.NET Framework 开发人员还可以通过在 Visual Studio 或 Microsoft Expression Blend 中进行创作来访问表示层。
Silverlight 提供了多个可帮助开发人员创建丰富的交互式应用程序的附加功能,包括下表中介绍的功能。
说明 |
|
---|---|
独立存储 |
|
异步编程 |
|
文件管理 |
|
HTML - 托管代码交互 |
.NET Framework 程序员可以直接操作网页 HTML DOM 中的 UI 元素。Web 开发人员也可以使用 JavaScript 直接调用托管代码,以及访问可编写脚本的对象、属性、事件和方法。 |
序列化 |
支持将 CLR 类型序列化为 JSON 和 XML。 |
打包 |
提供用于创建 .xap 包的 Application 类和生成工具。.xap 包中包含要运行 Silverlight 插件控件所需的应用程序和入口点。 |
XML 库 |
XmlReader 和 XmlWriter 类简化了使用 Web 服务中的 XML 数据的过程。开发人员借助 XLinq 功能可使用 .NET Framework 编程语言直接查询 XML 数据。 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。