银光的光.划破天际——微软Silverlight
线上体验
什么是Silverlight?前身代号是「WPF/E」,中译您可以称为「银光」,这是微软所推展类似于Flash相同的解决方案,但其表现来说,可让人眼睛为之一亮,面对Flash丝毫一点也不逊色,Silverlight它是免费内嵌在浏览器里的Plug-in(或称外挂、插件),所以除了在微软本身的IE之外,您也可以装在Firefox、Safari等浏览器上。
我们先来看几个Silverlight的线上范例:
范例1:
利用Silverlight外掛技术,使用者不需要Flash就可以直接看到影音动画,并且您还可以写成分段式影片的效果,随时切换到想看的编目,同样也支援到全萤幕观赏,您只要快速点击二下即可,按ESC键又可以切换回正常画面。
范例2:
此网页场景里的所有物件,包含沙发、长椅、桌子、大灯、装饰树等,您都可以利用滑鼠去3D切换不同的样式,以视觉化的去匹配整体室内您想要的感觉,最后看完可以接著在线上刷卡、付费,进而送货到家。
范例3:利用SilverLight来线上示范产品功能的影片。
范例4:利用Silverlight制作的线上游戏,比赛得分记录最高者获胜。
http://silverlight.net/samples/1.0/Sprawl/default.html
以上及更多实际范例,各位可以到http://silverlight.net/showcase/去点阅参考。
安装Silverlight
别忘了,与Flash Player一样,您要先安装好外掛才能够支援Silverlight,安装网址在http://www.microsoft.com/silverlight/install.aspx
Silverlight带来的好处:
Silverlight应该说是跨浏览器的免费外掛,这样的外掛,我们用以下四个层面来说明
一、跨浏览器的使用者体验
RIA(Rich Interactive Applications)在微软的解释是强调互动(Interactive),与Adobe RIA(Rich Internet Applications)虽有一字之差,但殊途同归,同样是要带给使用者与系统之间的互动及视觉化的感受。Silverlight在网页上可包含了影 片、动画、互动事件反应及令人昏眩的使用者介面。
在安装上,不到2MB就可快速安装完毕,并支援现有绝大部分的浏览器。格式上有向量式图形、影音多媒体、文字、动画及重叠能力,加上可运用在现有的网页或Ajax的程式架构上。
二、语言模组与协同合作工具
Silverlight是基于微软.NET Framework之上,所以现有的开发者或设计者能以既有熟悉的技巧,轻易开发出互动性的网页程式,此后端部分也支援了Apache、PHP。不过就以 开发语言来说,您可以用C#、VB .NET、JavaScript、Ruby、Python等来撰写逻辑程序。
官方以设计者及开发者来区隔适合的Silverlight整合工具
设计者:就是Microsoft Expression Studio,使用W3C标准,採XHTML、XML、XSLT、CSS及ASP.NET等技术来实现丰富型的网页使用者体验。
开发者:不外乎使用Microsoft Visual Studio(下一版为Orcas)来开发前后台,因为有专属的除错、侦测、语言等支援功能,所以很适合开发者使用。
Silverlight背后的展现层模组是使用XAML来宣告,宣告什么呢?所有的控制件、视觉化设计、多媒体元件,都是利用XAML来控制。这与Adobe Flex的MXML是不谋而合。
三、多媒体支援能力
视讯支援了720HD(High Definition),这是由电影电视工程师协会(Society of Motion Picture and Television Engineers; SMPTE)所提出的视讯压缩标准,其技术基础来自微软的Windows Media Video(WMV-9),所以可提供流畅又不失真的高画质影片,其次,官方号称其低成本的串流亦可佈署到微软下一代伺服器(代号Longhorn)的 IIS Media Pack上。声音部分则为WMA(Windows Media Audio)及MP3格式。
Silverlight的数位版权管理DRM(Digital Rights Management)也己支援,更还有微软Media Encoder编码工具来方便制作线上影音播放请求。
四、混搭(Mesh-up)网路服务能力
Web 2.0的来临,所以网页系统混搭(Mesh-up)能力很重要,Silverlight也不例外,支援LINQ(Language Integrated Query)、LINQ-to-XML,用在JSON、RSS、POX及REST存取上特别管用。另外,微软的Windows Live提供一个免费空间服务,可以快速将Silverlight程式及多媒体内容整合起来(稍后补充)。
Silverlight还有很重要一点特色在于,因为是XAML(eXtensible Application Markup Language)格式,所以可以将文字写在Silverlight程式的介面或内文上,做全文检索或文字搜寻时,就可派上用场。
免费Silverlight串流
当您做好Silverlight程式,您可以免费上传到微软的Windows Live,此申请帐号与MSN帐号统一,可以让您单一登入,网址在https://silverlight.live.com/
Silverlight 串流服务具备以下功能:
- 能够快速佈署Silverlight程式
- 可使用微软的Expression Studio、Visual Studio或第三协力厂商工具
- 标准的描述语言
- 扩充的API程式库
- 建立与传达不同的使用者体验
- 此环境没有商标或使用者介面的限制
- 可以到达DVD串流的品质
- 上传空间
- 此串流及上传Silverlight程式的空间总共是4GB(GigaBytes)
- 若Silverlight有包含影片,需控制在22MB以下,相等于10分钟在300Kbps速度下传完。
Silverlight串流范例如下图:Adobe Illustrator to XAML制作范例 (网址:http://silverlight.net/samples/1.0/Video-Library/default.html)
Silverlight目前发展状况:
目前最新版本是Silverlight 1.1Alpha,下载网址在:http://msdn.microsoft.com/vstudio/eula.aspx?id=c8bf88e7-841c-43fd-c63d-379943617f36
下图即为Microsoft Silverlight 1.1开发者速记表,里头绘出了Silverlight整体架构,包含平台、服务、工具、语言、浏览支援及命名空间。
WPF与Silverlight有何不同?
WPF(Windows Presentation Foundation),主要是提供统一的展现层模组,来建立诸如Windows Vista智慧型使用者体验,包含了使用者介面、3D模组、多媒体、文件等;而Silverlight是跨浏览器上的外掛,传达下一代网页多媒体互相性功 能,隶属于WPF功能上的子集,并可与Ajax来做高弹性的程式化互动。二者都是互补,也是基于XAML的展示层基础,若与Adobe技术来比, Silverlight犹如Flash,WPF犹如AIR(前身为Apollo),XAML犹如MXML。
Silverlight与ASP.NET / Ajax.Net关系 :
我们刚才有提到Silverlight整合既有的网页技术,这也包含了ASP.NET与Ajax.NET,因此就设计上可以补强二者关系,若以深入来谈 Silverlight可以与任何的Ajax程式来沟通,包含前端与后端(Client & Server side),所以ASP.NET与Ajax.Net能用来控制Silverlight为基底的视觉化资料,来表现出丰富的使用者介面,举例来说,您可以在 Silverlight指向到另支一支程式,或是用依据程式需求来播放一个影片。
微软Silverlight与Adobe Flash比较:
为了让读者更清楚目前微软与Adobe在RIA的展示层、语言、工具架构上的不同,笔者做了一个架构图,如下图所示。
小结:
Silverlight为RIA开启另一扇窗,与Adobe Flash、Flex、AIR一样为使用者互动提供了崭新的解决方案,以开发角度来看,.NET开发者的您可以用.NET的程式语言VB.NET、C#, 甚至Javascript、Python、Ruby(多种语言)等来实现Silverlight于网页上,而Adobe的开发者就必须熟悉 ActionScript 3在Flex应用程式上(ActionScript 3单一语言),双方各有爱好支持者,就以目前二家发展状况而言,Flash、Flex己是Adobe RIA开发成熟产物,而微软Silverlight仍在1.1 Alpha版却不容小视(2007年会正式上市),因为从过去歷史观之,在.NET推广的浪潮下,己让各领域应用层面达到相当高的比例(不管是就业、教 育、各行业领域应用),加上Silverlight是附著在.NET平台策略上的一个重要技术,到底哪一个好,最终还是得由大环境与使用者来决定(笔者预 估2~3年可以看出市场佔有率高下)。
作者简介:
刘仲滨 (Bing)
国立交通大学电机资讯学院数位图书组硕士,研究 Adobe/macromedia相关产品多年,为国内企业及华人社群大力推展 RIA互动多媒体应用及解决方案,著作有相关Adobe/Macromedia网页书籍、多篇杂誌专栏,同时为大型研讨会讲师、某公司技术顾问、软体业务 销售及RiS平台(http://j2eemx.com/)资深社群主持人。