分类:Silverlight

来自Blueidea
跳转至: 导航搜索

什么是 Silverlight?

  • Silverlight是微软公司(Microsoft)所推出的类似于Flash技术的一种Web表现层解决方案。
  • Silverlight的技术源于.NET Framework中的WPF(Windows Presentation Foundation)技术,在推出前代号为「WPF/E」,意为 WPF / everywhere,由于WPF在基于Windows操作系统中强大的互动表现能力,因此适时将WPF的技术架构扩展为跨平台/跨浏览器的领域,推出了Silverlight技术。Silverlight在各个方面目前都是WPF的一个子集,采用了WPF中所支持的部分精剪架构,如XAML语法。

目前的主要核心技术特点

  • Silverlight是一个跨浏览器、跨平台的插件,为Web带来下一代媒体体验和丰富的交互式应用程序体验。
  • Silverlight提供灵活的编程模型,支持JavaScript(1.0版本中)、.NET和其他的语言(未正式发布的1.1版本中),并集成到现有的web应用程序中。Silverlight对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。
  • Silverlight基于跨浏览器网络技术,依赖XAML语言和JavaScript脚本创建页面,与Flash一样作为浏览器插件工作,同样能显示矢量图形、动画和视频,可以运行在多种操作系统甚至移动设备上。
  • 目前Silverlight1.0正式版中提供了对高清视频的支持,我们可能将使用Silverlight轻松的在网页上观看高清视频的内容。Silverlight使用WMV格式,支持从低分辨率的移动媒体到全屏HD视频,并支持VC-1编码。

XAML:Silverlight的呈现核心

  • XAML的全称是 eXtensible Application Markup language,中文译为「可扩展应用程序标记语言」。
  • XAML的主要目的是描述Silverlight最终应用的所呈现内容。
  • 简单来说,XAML的主要功能与HTML完全一样,通过特定的标签(如<Canvas/>表示画布),描述应用的UI表现内容。
  • 与HTML这些技术相比较起来,XAML又有了除基本呈现之外的内容,如通过<Storyboard>标签来支持UI组件的动画呈现,以及其它一些事件触发机制等,使得我们在基本的表现层开发中,可以不依赖程序语言,直接使用XAML来描述界面与简单的交互与动画方式。

Silverlight目前的版本与开发方式差异

  • 目前Silverlight已经推出了1.0正式版以及2.0 Beta2版本。
  • 在Silverlight 1.0版本之中,用户主要通过XAML语言编写界面呈现内容,使用Javascript进行XAML本身的交互能力设计以及与其它技术进行数据交互的相关开发。
  • 在Silverlight 2.0 Beta2版本之中,用户可以使用 .NET Framework的托管代码来进行Silverlight开发,并支持DLR(Dynamic Language Runtime)动态语言运行时。

Silverlight 常见问题

  • 运行silverlight 2.0是否需要安装.net框架?

答案是不需要的。在一个4MB的Silverlight 2.0下载里包含了一个兼容所有平台版本的.net框架,这意味着你不再需要在客户端安装任何额外东西,来在浏览器里运行用.net编写出来的Silverlight程序。Silverlight版的.net框架和完整的.net框架一样包含同样的CLR引擎(同样的GC,类型系统,JIT引擎),它是.net框架命名类库的一个子集。当你用Visual Studio创建一个新的silverlight应用程序你可以通过打开对象浏览器看到所有类/命名空间的列表。

  • Silverlight是否支持Socket?

Silverlight 1.0不支持,Silverlight 2.0支持。

  • Silverlight是否可以访问Directx?

不能用silverlight调用directx,因为Silverlight的设计目标是兼容所有平台,而DirectX只有windows支持。你可以用.net框架下的WPF来支持DirectX。

  • Silverlight是否支持摄像头?

目前在silverlight1.0以及2.0 Beta2中还没有支持摄像头。以后将以其他的形式来支持。

  • 为什么不支持GIF?

在这个问题上微软也很犹豫,因为这意味着支持动态GIF,而动态GIF整合在Silverlight动画体系,两者会有原则冲突。相应的看一下Flash,Flash也不支持GIF。

  • 为什么Silverlight不支持WMP所支持的一些解码格式?支持FLV如何?它已经被大部分的网络视频所采用。

Silverlight在思想上不是计划做为一个延展的解码模型。Silverlight支持VC-1,WMV,MP3与WMA。不会任意的支持解码格式,因为一方面微软需要为解码专利支付费用,与此同时更多的解码器会使SL插件体积增大。 FLV的支持,会通过Expression Meida Encoder转换为Silverlight所支持的格式折中实现。

Silverlight 1.0开发

构建Silverlight 1.0 的开发环境

Silverlight 2.0 Beta2开发

相关的链接

微软Silverlight官方网站

微软推出的Silverlight官方社区

经典论坛silverlight专版

silverlight中文社区

本分类目前没有包含页面或媒体文件。