Silverlight是什么
就像我上面章节所解析,所有的RIAs有一个相同的特征,一个位于用户与服务之间的客户端运行时.在Microsoft的RIA解决方案中,Silverlight就是这个客户端运行时.尤其,Silverlight是一个可以把用户接口和图形资源插入到HTML页面的跨平台,跨浏览器的插件.
用于定义Silverlight的canvas的markup称为可扩展程序标记语言(Extensible Applic ation Markup Language,XAML,发音"zammel").XAML是一个以XML为基础的语言,在某些方面与HTML很相似.就像HTML,XAML定义元素的呈现,也定义元素的布局.但是,不想HTML,XAML远远超越了简单的元素定义和布局.使用XAML,你还可以指定时间线(timelines), 变形(transformations),动画(animations),和事件(events).
下面是一个使用XAML定义Silverlight canvas的例子:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="FirstLookXaml.MainPage" Width="640" Height="480"> <Canvas x:Name="LayoutRoot" Background="White"> <Rectangle Height="119" Canvas.Left="75" Stroke="Black" Canvas.Top="92" Width="183"/> <Ellipse Height="119" Canvas.Left="347" Stroke="Black" Canvas.Top="92" Width="189"/> <Button Content="XAML Rocks!" Height="43" Canvas.Left="233" Canvas.Top="285" Width="161"/> </Canvas> </UserControl>
Silverlight的优点
不用说,Silverlight提供了RIA是的所有相同的特性,但是这里有一些特性也其它RIA解决方案不同,包括下面的:
- 跨平台,跨浏览器的支持
- 提供一个跨平台版本的.NET Framework.
- XAML是一个文本基础(text-based)的标记语言.
- Silverlight使用熟悉的技术.(Silverlight uses familiar technologies. )
- Silverlight 提供一个运行于浏览器外的完全信任选项.
- Silverlight是WP7的主开发平台.
- 很容易部署Silverlight 运行时到客户端.
Silverlight 4 的新特性
Silverlight不断发展同时Microsoft也不断给新版本的Silverlight添加新特性.在Silverlight 4中有不少新特性加入.这里对这些特性做一个简介,后面还会继续深入的讨论.
- 受信任的应用程序:在Silverlight 4 releases之前的版本,Silverlight应用程序被限制入一个沙箱,不能访问客户端的设备或者硬件.在Silverlight 4中,开发者有一个创建受新人的应用程序的选项,这样就可以获得访问客户端机器和硬件的能力.16章会谈及这方面的内容.
- 新的控件:每一个新版本的Silverlight,都会加入越来越多的控件.Silverlight 4也一样,增加了许多新特性,例如RichTextArea,ViewBox等.3-6章会讨论这些控件.
- 系统整合和设备支持:以前版本Silverlight的其中一个不足是缺乏设备级别的支持.在Silverlight 4中,开发者现在几行代码可以访问用户连接着的web摄像头和麦克风.除此之外,Silverlight 4也支持鼠标滚轮和右键.第10章将会讨论设备支持.
- 支持打印:Silverlight 4其中最受欢迎的一个新特性就是支持在客户端打印.Silverlight 4包含一个可扩展的打印API,运行开发者在Silverlight应用程序中实现客户端的打印.
- 自定义窗体样式(chrome):Silverlight 其中一个最大的特性是可以在浏览器外运行.但是不久后,开发者就立即请求能够运行它们的浏览器外的Silverlight应用程序能脱离标准的窗体样式.在Silverlight 4开发者可以为他们的应用创建自定义的样式,使得他们的企业应用可以有一个一致的外观,包括应用框架.
- 增加浏览器支持:Silverlight 3添加了Safari浏览器的支持,但是有一个流行的浏览器仍然没有支持.尽管Silverlight 3普遍地能在Chrome浏览器运行,但并没有为Chrome提供官方的支持.Silverlight 4增加了Chrome的官方支持,这意味着实际上Silverlight 4支持所有的主流浏览器.
- Silverlight作为拖放目标:如果你曾使用桌面应用程序,你可能熟识拖放文件到应用程序来执行某些任务这样的能力.这是以前版本的Silverlight不可能实现的.Silverlight 4添加了拖放文件到浏览器Silverlight应用程序的能力.当前只支持文件,但是未来版本的Silverlight明确实现增加拖放类型.第10章会介绍Silverlight的拖放.
- 通知弹窗报警 (Toast Window Support):有时,在你的应用程序中通知用户的事件是非常有用的.业界已形成标准,就是通知弹出.这些小的信息窗体出现在屏幕的右下角,在Mac操作系统是右上角.
- 全屏键盘输入:如果你有多个屏幕,你可能注意到你不能在Silverlight应用程序的全屏模式中使用键盘.如果你使用了,应用程序会自动地退出全屏模式.Silverlight 4修复的这个问题,支持了全屏模式下的键盘输入.
性能改进
每个新版本的Silverlight,除了增加一些新特性外,Microsoft致力于改进Silverlight运行时的性能.Silverlight 4继承了这个光荣的传统,相比前面版本提供了大幅的性能改进.实质上,测试显示Silverlight 4比Silverlight 3快2倍,载入速度快30%.