Silverlight 简介
Microsoft® Silverlight 是Microsoft® 公司在.NET Framework平台上实现为Web和移动设备构建和显示下一代多媒体体验和丰富的交互式应用程序(RIA)的一种跨浏览器、跨平台的插件。Silverlight技术是一种新的Web表现层技术,其跨平台的用户体验和可扩展的编程模型分别起到了统一了服务器、Web 和桌面和统一托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation (WPF) 的功能,并通过结合音视频、动画、交互以及炫丽的用户界面为Web应用程序提供精彩的多媒体创意和丰富的交互式环境。
Ø Silverlight,不得不提的 WPF
WPF(Windows Presentation Foundation)是Microsoft® 公司利用DirectX API进行用户界面开发和XAML标记文本语言定义外观布局的下一代UI表示层技术。它主要是提供统一的展现层模组,来建立诸如Windows Vista智慧型使用者体验,包含了使用者介面、3D模组、多媒体、文件等。
Silverlight技术的前身被称为WPF/E(Windows Presentation Foundation Everywhere)技术,它是利用了跨浏览器Web技术进行设计,以实现多操作系统,甚至移动设备上无缝运行的一种基于声明性编程方式的WPF,是一种新的Web 呈现技术。
Silverlight 提供 Windows Presentation Foundation (WPF) 提供的一部分功能(如数据绑定、触发器、样式、路由事件、依赖项属性、可视化和逻辑树以及可冻结对象),并包含了可视状态管理器、Deep Zoom、数据网格控件等功能,因此我们可以将.NET Framework部署经验转移到 Silverlight,生成易于部署和快速安装的RIA。反之亦我们也能够通过重复使用 XAML将 Silverlight 应用程序移植到桌面。
因此从功能上说Silverlight隶属于WPF的子集,是传达下一代网页多媒体互相性功能,并可与Ajax来做高弹性的程式化互动的跨浏览器上的外挂。但二者都是基于XAML的展示层基础的,它们是互补的。若与Adobe技术来比, Silverlight犹如Flash,WPF犹如AIR(前身为Apollo),XAML犹如MXML。
Ø 跨平台、浏览器的用户体验
Silverlight目前已经支持Internet Explorer, Firefox和Safari,并且微软已经承诺支持Opera。
OS Browser
|
IE6 SP1
|
IE6 SV1
|
IE7
|
IE8
|
Firefox
|
Safari
|
Opera
|
Windows Vista/2008
|
N/A
|
N/A
|
1.0, 2.0
|
2.0
|
1.0, 2.0
|
1.0, 2.0
|
Planned
|
Windows XP/2003
|
N/A
|
1.0, 2.0
|
1.0, 2.0
|
2.0
|
1.0, 2.0
|
1.0, 2.0
|
Planned
|
Windows 2000
|
2.0
|
N/A
|
N/A
|
N/A
|
N/A
|
2.0
|
N/A
|
|
|
|
|
|
|
|
|
Windows Mobile 6
|
2.0
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
Mac OS 10
|
N/A
|
N/A
|
N/A
|
N/A
|
1.0
|
1.0
|
Planned
|
|
|
|
|
|
|
|
|
Mac OS 10 Intel
|
N/A
|
N/A
|
N/A
|
N/A
|
1.0, 2.0
|
1.0, 2.0
|
Planned
|
|
|
|
|
|
|
|
|
Linux
|
N/A
|
N/A
|
N/A
|
N/A
|
Planned
|
Planned
|
Planned
|
Ø Silverlight 特色
² 跨平台的用户体验:Silverlight集成了多种现有Web技术和设备支持多种平台,使用户能够方便的进行代码重用,并通过不同平台无缝的连接到Web。
² 小巧方便:当用户遇到使用Silverlight开发的网页时,可以迅速的安装Silverlight插件,安装简单、体积小(约为2Mb)。
² 该解决方案集成了强大的图像及图层技术,支持任何尺寸图像的无缝整合,并提供适合广播的图层技术,可以在图像上添加按钮、标题或是其他交互性内容。
² 丰富的内容功能:使用 Silverlight,可以添加包括视频、动画、文字、2D、3D 图像和一些 Web 页面的可视化效果等丰富的内容,比单纯使用 HTML 能带来更丰富的用户体验。
² 可扩展的编程模型和协作工具: Silverlight兼容大量其他标准和现有技术(包括ASP.NET、AJAX以及.NET 3.5),支持JavaScript,C#,VB,Ruby以及Python等多种开发语言,使得开发者可以根据现有标准,或是采用微软已成熟技术来开发基于Web的内容。而且XAML语言使得Web内容和桌面内容的开发语言一致,从而降低了开发费用。Silverlight还为设计者和开发者提供大量的开发工具和开发环境支持(如Visual Studio®的Web开发支持包括ASP.NET AJAX在内的技术,Expression® Studio使得在符合W3C标准的网站开发中可以使用XHTML、XML、XSLT、CSS以及ASP.NET等工具且能够可以创建可重用界面以提高创建Silverlight应用的效率)。
² 无需编译: Silverlight 基于XAML和JavaScript,由浏览器解释执行,并以DOM型式公开它的元素树,内容能很好被搜索引擎收录。
² 高质量、低成本的多媒体技术:Silverlight内建的视频及动画广告解决方案灵活性很高,当传输广播类型的视频或是动画广告时,不会影响视频的质量。它通过Expression Media Encoder以及Tarari公司的内建平台,支持15X的快速视频编码及硬件加速,并且允许利用WMV标准从高清设备向移动设备提供高质量视频和音频。通过获得艾美奖的Windows Media技术,传输流量可降低46%,并且和现有的Windows Media流量配置方案兼容。
² 结合数据、服务器和服务: XAML 与 ASP.NET AJAX 无缝集成,比单独使用 ASP.NET AJAX 能够提供更丰富的表现能力。
² 支持内容接入保护技术:无论在Windows还是Mac平台上,Silverlight都支持多种商业模型,包括订阅、租用、付费浏览或是预览等。
Silverlight 功能表
特性
|
Silverlight 1.0
|
Silverlight 2 .0
|
2D Vector Animation/Graphics
|
×
|
|
AJAX Support
|
|
|
Cross-Browser (Firefox, IE, Safari)
|
|
|
Cross-Platform (Windows, Mac)
|
|
|
Framework Languages(VB, C#, IronRuby, Ironpython)
|
×
|
|
HTML DOM Integration
|
|
|
HTTP Networking
|
|
|
Isolated Storage
|
×
|
|
JavaScript Support
|
|
|
JSON, REST, SOAP/WS-*, POX, and RSS Web Services
|
×
|
|
ADO.NET Data Services
|
×
|
|
Cross Domain Network Access
|
×
|
|
LINQ to Objects
|
×
|
|
Canvas Layout Support
|
|
|
StackPanel, Grid and Panel Layout Support
|
×
|
|
Managed Control Framework
|
×
|
|
Full suite of Controls
|
×
|
|
Deep Zoom Technology
|
×
|
|
Managed HTML Bridge
|
×
|
|
Managed Exception Handling
|
×
|
|
Media – Content Protection
|
×
|
|
Media – 720P High Definition (HD) Video
|
|
|
Media – Audio/Video Support (VC-1, WMV, WMA, MP3)
|
|
|
Media – Image Support (JPG, PNG)
|
|
|
Media Markers
|
|
|
Rich Core Framework (e.g. Generics, collections)
|
×
|
|
Security Enforcement
|
×
|
|
Silverlight ASP.NET Controls (asp:media, asp:xaml)
|
|
|
Type Safety Verification
|
×
|
|
Windows Media Server Support
|
|
|
XAML Parser (based on WPF)
|
|
|
XMLReader/Writer
|
×
|
|
Ø Silverlight 整体架构
系统平台: Windows Vista/2008、Windows XP/2003、Windows 2000
Mac OS 10、Mac OS 10 Intel
浏览器平台:Internet Explorer 6、Internet Explorer 7、Internet Explorer 8
Firefox 1.5、Firefox 2.0、Firefox 3.0
Safari 2.0、Safari 3.0
工具:Microsoft® Visual Studio、Microsoft® Expression Studio
语言:C#、Visual Basic、Managed Jscript、IronRuby、IronPython
支持的媒体:VCI、WMV、WMA、MP3、GIF、JPG、PNG
控件:
结构:
Ø Silverlight 项目文件结构
一个标准的Silverlight项目一般包括如下几个部分:
² Web页面:用于嵌入或是宿主基于Silverlight的应用程序。
在<head>部分包含了两个独立的javascript文件,这两个javascript脚本分别用于创建silverlight和检查本地是否安装silverlight插件。
一个<div>中包含Silverlight,它由<Head>中的<Style>定义一个样式,而<div>里面是一行简单的Javascript函数调用创建silverlight。这个函数在前面包含的单独javascript文件中。
² Javascript文件
Silverlight.js:辅助创建Silverlight插件的文件,其中定义了创建Silverlight的CreatObject和CreatObjectEx方法,定义了Silverlight版本检查代码和实例化Silverlight插件的代码。
TestPage.HTML.js:调用Silverlight.js中的CreatSilverlight方法创建Silverlight插件。
负责使用silverlight专属的对象提取一个XAML文件,并把这个XAML转换成Silverlight。
² XAML文件:用于定义Silverlight应用程序的用户界面元素
如同Flash的SWF文件一样,不过SWF文件既包括资源又包括逻辑,并且是不可读的,而XAML只包括资源和表现形式,不包括程序逻辑,并且是可读的。
每一个XAML文件都对应一个相同文件名+".cs"或者".vb"的服务器端代码,和ASPX的CodeBeside很相似。
² Silverlight插件:用于输出Silverlight内容,它使用HTML的<Object>或<Embed>标签嵌入HTML
Ø Silverlight 工作原理
A. 从浏览器发出HTTP请求,服务器接到后返回HTML、Javascript
B. Javascript首先检查是否安装了Silverlight插件,如果没有则提供下载
C. Javascript开始创建Silverlight,并从服务器下载XAML文件
D. Silverlight的Javascript检查到XAML文件后,根据需要向服务器请求程序逻辑(不管后台是cs的源代码还是编译好的,程序逻辑始终是后台负责编译并执行的,然后把执行结果透过XML传递给前台)。由于请求和响应的内容很短,是类似Ajax的,所以如果网络带宽够用的话应该不会很卡。
E. 本地Javascript接到响应后根据响应结果显示效果
Ø Silverlight与ASP.NET / Ajax.Net
我们刚才有提到Silverlight整合既有的网页技术,这也包含了ASP.NET与Ajax.NET,因此就设计上可以补强二者关系,若以深入来谈 Silverlight可以与任何的Ajax程式来沟通,包含前端与后端(Client & Server side),所以ASP.NET与Ajax.Net能用来控制Silverlight为基底的视觉化资料,来表现出丰富的使用者介面,举例来说,您可以在 Silverlight指向到另支一支程式,或是用依据程式需求来播放一个影片。
Ø 配置Silverlight的服务器
部署Silverlight到产品Web服务器是一个相当容易的过程,尽管有时候会有一些错觉——譬如,认为Silverlight需要部署在基于微软的Web服务器(IIS)上, Silverlight不强制一定部署在基于微软的Web服务器上,Apache也可以像IIS一样,轻松愉快的支持Silverlight运行。Web服务器通常都只支持有限种已知扩展名的静态文件内容,Silverlight引入了两个新的文件扩展,因此,你需要为web服务器添加MIME类型,这样才能让Web服务器识别并处理那些类型的文件。
Ø Silverlight与Adobe Flash
Silverlight与Flash有着不同的技术基础:Flash使用“半公开”的二进制格式而Silverlight基于声明性编程方式WPF。
为了清楚的展示Microsoft®与®在RIA的展示层、语言、工具架构上的不同,有两者架构比较图如下:
Ø Silverlight、JavaFX、Flex技术比较
² Silverlight是一个跨浏览器和跨平台的插件,能在微软的.NET上交付炫目的多媒体体验和有丰富交互功能的Web应用
² JavaFX Script可以让用户利用JRE“一次编写,处处运行”的优势,在现有知识的技术上创建跨设备的应用
² Flex产品能帮助应用程序开发者利用强大的Flash运行时创建数据驱动的RIA,而且开发者还可以用Flash和Flex构建器一起为基于Flex的应用增加富交互元素
Ø 开发工具
ü Microsoft® Silverlight™ 2
http://silverlight.dlservice.Microsoft.com/download/8/B/A/8BA7FCB0-832B-47A9-9786-08FDF3822879/Silverlight.2.0.exe
ü ..Net Framework 3.0
http://www.Microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043
ü Microsoft® Visual Studio 2008 SP1:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61&DisplayLang=zh-cn
ü Microsoft® Expression® Studio 2
http://www.Microsoftcom/downloads/details.aspx?FamilyID=7ae2720c-72ba-489b-adbb-ee6f3c79066d&DisplayLang=zh-cn
ü Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1
http://www.Microsoft.com/downloads/details.aspx?familyid=C22D6A7B-546F-4407-8EF6-D60C8EE221ED&displaylang=zh-cn
ü Microsoft® Silverlight™ 2 软件开发工具包
http://www.Microsoft.com/downloads/details.aspx?familyid=8D933343-038F-499C-986C-C3C7E87A60B3&displaylang=zh-cn
ü Microsoft® Silverlight™ 2 软件开发工具包文档
http://www.Microsoft.com/downloads/details.aspx?familyid=BCE7684A-507B-4FC6-BC99-6933CD690CAB&displaylang=zh-cn
Ø 参考站点
² Silverlight中文社区 http://silverlight.cn/
² Microsoft® Silverlight:Web上升起的璀璨明星http://www.Microsoft.com/SILVERLIGHT/
² The Official Microsoft® Silverlight Site http://silverlight.net/
² Microsoft® Silverlight https://partner.Microsoft.com/China/40043421
² Silverlight 入门http://msdn.Microsoft.com/zh-cn/library/bb190632.aspx
² 博客园 - Silverlight学习与研究 http://wpfe.cnblogs.com/
²Silverlight技术学习专题-IT168 http://tech.it168.com/zt/silverlight/index.html
分享到:
相关推荐
Metro设计风格 Silverlight组件 创建一个Silverlight应用程序 Silverlight与XAML Silverlight布局简介 组件与事件 Silverlight项目模板 应用程序栏 页面导航
《Silverlight揭秘》涵盖了Silverlight XAML 的方方面面,深入探讨了Silverlight 的特性,如图形、文字、音频、视频、动画和事件等,也讲述了如何使用构建块创建可重用的控件,执行普通的任务(如拖放),并解释了如何...
Silverlight
Silverlight 及其相关技术简介
wic安装文件,silverlight4客户端安装文件 .net framework 4官方下载地址 安装步骤文档内容简介如下 1.注册MIME类型 2.允许ASP.NET 4.0.30319 3.asp.net的版本要选择为4.0.30319 4.访问控制设置
简介:Silverght5,EF4.1,WCF RIA,代码优先CodeFrist 演示项目源码 系统分层:MODEL,BLL,DAL,IDAL,DALFactory,UI+Web 其中有两个子模板, 内部子模板1:用RIA Service、DomainDataSource,dataGrid演示分页、查询、数据...
内容简介 Teach yourself how to build rich Internet applications with Silverlight 4--one step at a time. With this practical, learn-by-doing tutorial, you'll learn how to create interactive user ...
本文介绍了多合一框架中的几个Silverlight示例。
该Demo是一个Spring.NET和NHibernate框架的综合应用,实用于小型项目的企业应用。此架构有较强的实用性,并在项目开发中达到“快速开发”的目的
本文档时Smart eVision简介基于Silverlight的3d战情室分析平台有很好的参考意义
各子系统的功能以及设计方案 6 3.1、silverlight版网络实时监控系统 6 3.1.1功能描述: 6 3.1.2系统特点 6 3.1.3主要功能简介 8 3.1.3.1实时显示数据和状态 8 3.1.3.2 TCP远程访问控制 9 3.1.3.3 TCP查看历史...
本书介绍最新C#版本Visual C# 2008的关键新特性,包括LINQ特性、使用LINQ to SQL的数据库、WPF GUI和图形、WCF Web服务、ASP.NET3.5与ASP.NET AJAX、Silverlight 2技术、支持LINQ的新语言特性、隐式类型局部变量和自...
学习Widows Phone8.1的移动开发,需要C#基础、.Net平台基础、WPF(Silverlight)基础、移动互联网开发理念,已经非常好的英文读写能力,对于我们技术屌丝来说非常痛苦,传智播客为此专门安排了Windows Phone8.1开发...
两个部分,用winmount压缩的 《Visual C# 2008大学教程(第3版)(英文版)》:基础知识 ...Objects I/O、控制语句、运算符 ...作者简介 作者:(美国)戴特尔(Deitel.P.J.) (美国)戴特尔(Deitel.H.M.)
两个部分,用winmount压缩的 《Visual C# 2008大学教程(第3版)(英文版)》:基础知识 ...Objects I/O、控制语句、运算符 ...作者简介 作者:(美国)戴特尔(Deitel.P.J.) (美国)戴特尔(Deitel.H.M.)
1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2 Visual StudioIDE 2.2.1 解决方案资源管理器 2.2.2 ...
简介: 近年来RIA技术日趋成熟并开始得到广泛应用,继RIA先驱Adobe Flex之后,微软和Sun相继推出Silverlight和JavaFX来参与和拓展RIA的应用和市场。基于JavaScript的AJAX开源平台,如Dojo Toolkit,也将JavaScript...
内容简介:本书是ASP.NET 领域的鸿篇巨制,全面讲解了ASP.NET 3.5 的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。本书还深入讲述了其他ASP.NET 图书遗漏的高级主题...