Silverlight:你需要知道的十件事情
简单的说,Silverlight是一个跨平台跨操作系统的插件,使Web开发者能够在浏览器中建造丰富的媒体体验和RIA应用。目前发布的版本为 RC版,可用于Windows平台上的IE和Firefox浏览器,以及Mac OS X平台上的Firefox和Safari浏览器。
在公共发布版本来临之际,现在正是了解Silverlight的好时候,本文解释了微软的Silverlight 10个主要特点,希望能够帮助你更多了解Silverlight的好处和局限性。
本文作者Shawn Wildermuth是微软MVP(最有价值专家)(C#),Wildermuth Consulting Services的创始人,已经从事软件开发超过20年。目前Shawn正在全美做Silverlight的巡回授课,教人们如何在自己的项目中使用Silverlight。
1、Silverlight是跨平台/浏览器的
对于大部分开发团队,创建一个能够在所有流行的浏览器(包括IE、Firefox、Safari、Opera)上完美运行的Web站点是很具挑战性的事情。这不只是增加代码实现的问题,还要进行大量复杂的测试。
通常面对这个问题的解决方法有两个:仅支持少数最流行的浏览器或者增加质量保证人员的数量。
而Silverlight允许“一次开发,到处运行”,微软已经承诺会支持Windows和Mac上的Opera,而Silverlight的Linux版Moonlight也正在开发中。
2、Silverlight 1.1 才是好戏开场
对于目前的Silverlight 1.0 RC版,仍有很多组织在考虑是否开始在此平台上进行开发。Silverlight 1.0已经有了许多重要有趣的功能,但还有更多的精彩内容仍需到1.1版才会出现。
Silverlight 1.1(目前仍处于Alpha预览)初次开始支持.NET,包括了基本的.NET语言:C#和Visual Basic。而微软说,Silverlight 1.1将会带有.NET对动态语言的支持,例如Ruby、Python、动态VB和托管JScript。等到1.1正式发布,所有.NET语言的支持都会 加入近来,这等于给浏览器添加了.NET编译器。
3、Silverlight 使用开发者们已经掌握的
Silverlight由微软现有的一些技术创建而成,如XAML,JavaScript以及.NET技术。如果你已经很熟悉微软.NET和Web开发技术,这些都可以应用在Silverlight的开发中。
你选择开始新项目的Silverlight版本主要基于开发团队的技术方向。如果你的开发团队主要做ASP.NET
4、Silverlight的用户界面使用标记语言——就像HTML
Silverlight使用XAML来进行用户界面设计。你可能已经很熟悉另一种标记语言了:HTML。HTML文件是纯文本的,它只需要告诉浏览器如何渲染网页,XAML也是这样的,只不过,执行文本命令的不再是浏览器,而是Silverlight。
无论开发者在服务器端用什么
5、Silverlight和AJAX技术互为补充
网络是不断进化的。回到1990年代,所有人都告诉开发者应该把尽可能多的执行都放在服务器端,技术上没问题,但是这相当影响用户体验。现在AJAX已经广泛流行开来,把代码直接放置在浏览器中就可以有效改善用户体验,这方面最典型的代表就是Google Maps。
Silverlight也参照了这样的模型,允许在浏览器中创造更加丰富的用户界面,而采用AJAX和服务器端交换数据使Silverlight更加强大,结合了Silverlight丰富的用户界面和AJAX的异步数据传输,用户将得到非常舒适的交互体验。
6、Silverlight允许开发者和设计者协同工作
网络要求开发者们必须越来越多地考虑设计和美观问题,对用户的快速响应和直观的界面已经成为开发标准,这需要在开发中同时加入美术设计和用户体验规划。
然而,美术师和程序员使用完全不同的资源和工具。通常情况是,美术师把图片文件或者HTML框架发给开发者以整合应用程序代码,当设计做出更改,整合就没完没了地进行。
Silverlight能提供更好的开发模式。微软提供给Silverlight的
对于Silverlight,主要的设计工具是Expression Blend,它可以按设计者们所熟知的方式创建XAML内容,使用起来和Adobe Illustrator或者Photoshop差不多。但不同之处在于Blend和开发者使用同样的
7、Silverlight将分包发布
Silverlight会分成多个数据包发送给浏览器,也就是说代码会分成一个或多个包(JavaScript文件,编译文件等等),设计也分成一个或多个包(XAML),以及其他文件(包括图片、字体、视频)。
刚开始习惯了Flash的单文件分发模式的开发者会不大理解为什么这样做。实际上,这是有好处的。分离的包比现在的Flash完整打包更有助于在服 务器端动态地创建内容,并按照标记语言自由组合。Silverlight也提供功能可以使用zip文件把所有XAML代码使用的内容打包给用户下载。
8、Silverlight是崭新的
在写就本文的时候,Silverlight 1.0为RC版,Silverlight 1.1则刚刚发布Alpha版,这项技术与类似的其他公司同类技术(尤其是Adobe的Flash和Flex)相比还不够成熟。Flash目前已经到了 9.0,它花了很长时间才达到现在的普及度,但这不是说Silverlight追不上来,微软在学习他人的经验和教训方面很有一手(可以参考一下Java 和.NET),当然这也不是绝对的。
Silverlight不是Windows Forms、Windows Presentation Foundation(WPF)、Java Applet或者Sharepoint的替代者,简单的说,如果你需要创建丰富的,优秀的,同时具备跨所有平台和操作系统的应用,那么 Silverlight正合适。
9、Silverlight XAML对照WPF XAML
要把XAML吹捧成为微软WPF的特长之处并不难,但是它实际上并没有看起来那么优秀,这一方面是由于WPF较低的采用率,另一方面就是WPF XAML和Silverlight XAML的区别了。
首先,WPF的采用率相对于其他客户端技术而言(例如Visual Basic 6和.NET的Windows Forms)比较低,因此XAML也基本上被荒废了。
第二,Silverlight XAML的语法比WPF XAML要简单一些,当然也会比WPF XAML弱一点,这既是好事也是坏事。Silverlight非常容易上手,但是从WPF转移而来的开发者可能会觉得有点不够用。
按我的感觉,较简洁的语法对于Silverlight实际上是最合适的,因为运行环境对于用户而言越精简越好。Silverlight并不需要把所 有东西都囊括进来,对于一个轻量级客户端而言没有这个必要。当然,要能给Silverlight增加更多的功能肯定不错,但是目前不能仅仅考虑这些,我们 需要谨慎考量加入多少,同时还能保持接口的简洁和高效。
10、Silverlight非常适合学习XAML
就象前一节所说的,Silverlight有着轻量级的XAML语法,这意味着它对于学习XAML的工作方式非常有益,引导那些正在学习XAML的 开发者创建简明清晰的代码,帮助他们快速理解Silverlight的功能特性,当他们开始投向WPF的XAML的时候,就会发现更多的功能和特性已经准 备就绪了。
相反的,如果开发者从WPF开始应用XAML,随后换到Silverlight的话就不得不扔掉许多特性。Silverlight的运行时库目前只有大约4.5MB,.NET 3.0运行时库(第一个支持WPF的)则接近30MB。
Silverlight是一个对公司、消费者、用户都大有裨益的新技术,看了上面这些,现在你可以决定该如何在你的Web战略中应用Silverlight了。
from: http://news.csdn.net/n/20070830/108121.html
reference:
Silverlight 入门
http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/bb190632.mspx?mfr=true
SILVERLIGHT 开始在整个网站积累更深入的体验
http://msdn.microsoft.com/msdnmag/issues/07/06/Silverlight/default.aspx?loc=zh
隆重发布:Microsoft Silverlight
http://blogs.msdn.com/cqwang/archive/2007/04/18/microsoft-silverlight.aspx
50个Silverlight Apps/Demos
http://blogs.msdn.com/cqwang/archive/2007/07/09/50-silverlight-apps-demos.aspx