说到Silverlight大家可能不太陌生,但说到Silverlight的定义,大家可能只能简单的说个大概,为了更能深入的了解和学习Silverlight,下面我们看一下Microsoft官方对Silverlight的定义。Silverlight是一种新的Web呈现技术,能在各种平台上运行。借助该技术,您将可以设计内容丰富、视觉效果绚丽的交互式体验。而且,无论是在浏览器内、在多个设备上还是在桌面操作系统中,您都可以获得这种体验。Microsoft .NET Framework 3.0中的呈现技术 XAML(可扩展应用程序标记语言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈现功能的基础。
对Silverlight有一个初步认知后,本作者将逐步引导您了解 Silverlight 的基本情况,以及如何使用 Microsoft 的众多工具(包括 Microsoft Expression Blend、Microsoft Visual Studio 2010 和 XAML)来构建内容丰富的图形站点。首先,让我们了解一下 Silverlight 发展历程的相关背景信息,以及它在开发领域所处的位置。
CERN 的 Tim Berners-Lee 发明现代 Web 时,初衷是将其作为允许在基于网络的系统上存储和链接静态文档的系统。之后的数年间,随着创新的发展和成熟,“活动”文档自然而然地成为了现代 Web 发展的新阶段,这些文档在收到访问请求时即会生成,文档中包含特定于时间或用户的信息。CGI 之类的技术成为了这一阶段的实现基础。随着时间的推移,在 Web 上生成文档的功能变得极为重要,技术上的发展也历经 CGI、Java、ASP,到达 ASP.NET 阶段。
在使开发人员拥有采用服务器开发模式并使用 Visual Studio 系列产品中的同类最佳工具快速开发高质量 Web 应用程序的能力这一方面,ASP.NET 树立了一个里程碑。
事实证明,用户体验是 Web 应用程序中的一大障碍,在这方面,技术上的限制使 Web 应用程序无法提供与使用本地数据的客户端应用程序同样丰富的用户体验。
XMLHttpRequest 对象(2000 年由 Microsoft 作为 Internet Explorer 5 的一部分发布)成为了异步 JavaScript 和 XML (AJAX) 技术的基础,该技术使 Web 应用程序能够更加动态地响应用户输入,因为采用该技术时只会刷新网页的部分内容(区域),并不需要重新加载所有内容。基于 AJAX 构建的创新型解决方案(如 Windows Live Local 映射)使 Web 应用程序更进一步,已经能够提供与客户端类似的用户体验。
Silverlight 是应用程序开发人员和设计人员可以向其客户呈现潜在用户体验丰富性的下一个发展阶段。为了实现此目的,它允许设计人员展现其创造力并以能够直接对 Web 产生影响的格式保存其工作。过去,设计人员会使用提供了丰富输出功能的工具来设计网站和用户体验,但在这些设计的实现能力方面,开发人员会受到 Web 平台的限制。在 Silverlight 模型中,设计人员可以构建所需的用户体验,并将其表示为 XAML。随后,开发人员可以使用 Silverlight 运行时直接将该 XAML 合并到网页中。因此,两者的合作可以比以往任何时候都更加紧密,从而提供丰富的客户端用户体验。
由于 XAML 属于 XML,因此它是基于文本的,能够为这些丰富的内容提供与防火墙兼容的、易于检查的说明。尽管其他技术(如 Java 小程序、ActiveX 和 Flash)可用来部署比 DHTML/CSS/JavaScript 更丰富的内容,但它们都会向浏览器发送二进制内容。这就导致难以进行安全性审核,更不用说更新上的困难,因为进行任何更改后都必须重新安装整个应用程序,而这并不是友好的用户体验,并且可能导致页面停滞。如果使用 Silverlight,则需要更改丰富的内容时,服务器端会生成新的 XAML 文件。用户下次浏览到该页面时,会下载该 XAML 并更新体验,而不需要进行任何重新安装。
Silverlight 的核心是浏览器增强模块,其作用是呈现 XAML 并在浏览器界面上绘制生成的图形。它的下载体积较小(不到 2 MB),可以在用户点击包含 Silverlight 内容的站点时进行安装。该模块向 JavaScript 开发人员公开 XAML 页面的底层框架,以便实现页面级的内容交互,这样,开发人员就可以进行自己的工作,例如编写事件处理程序或使用 JavaScript 代码来处理 XAML 页面内容。
注:上述部分内容摘自Microsoft官方内容(MSDN Silverlight入门)。
关于一些了解学习Silverlight的网站:
Silverlight官方网站:http://www.silverlight.net/
Silverlight开发中心:http://msdn.microsoft.com/zh-cn/silverlight/default.aspx
Silverlight中国社区:http://www.microsoft.com/china/silverlight/
Silverlight开发入门:http://msdn.microsoft.com/zh-cn/silverlight/ff429365.aspx
Silverlight中文社区:http://www.silverlight.cn/
Silverlight 银光中国:http://www.silverlightchina.net/
Silverlight SDK博客:http://blogs.msdn.com/silverlight_sdk/default.aspx
Visual Studio 2008 (Silverlight 3 Tools):http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd
Visual Studio 2010 (Silverlight 4 Tools):
获取Silverlight Toolkit安装的最新版本:http://silverlight.codeplex.com/
Silverlight4的控件实例演示:http://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html