技术开发 频道

Silverlight 2客观评测 非完美但值得选择

  【IT168 专稿】一年多以前,微软的Silverlight粉墨登场,被业界人士称为“Flash杀手”,其竞争对手包括Adobe的Flash和Flex,以及其它几种富互联网应用和AJAX框架。

  Silverlight 1.0的多媒体功能和WPF用户界面,给人留下深刻印象。随后微软推出了Silverlight 1.1测试版,增加了对编译.Net语言的支持,以及增加了对更多.Net API的支持。

  当Silverlight 2推出时,人们发现,对微软来说,Silverlight 1.1是一个如此重要的更新版本。正如我们现在所看到的,Silverlight 2支持所有.Net语言,其中包括诸如IronPython和IronRuby之类的动态语言,它还包含大量的.Net基类,包括诸如LINQ(集成语言查询)之类的新功能。

  除了的一系列丰富的管理功能之外,它还通过API实现了全面的网络功能支持,其中包括对REST、SOAP、RSS和HTTP等的支持;它还包含了本地数据缓存和存储支持;以及开始支持高清视频。H.264视频和AAC(高级音频编码)音频支持将在Silverlight 3中实现。

  在今年8月份的北京2008奥运会上,Silverlight无疑是最出风头的技术,得到了很好的检验并受到了不错的评价。当然也有很多人声称它对某些硬件和操作系统不够兼容,但是这并不令人意外。在微软看来,至少,Silverlight互联网视频流技术已经被美国国家广播公司(NBC)、中国中央电视台和其它10个国家的电视传媒机构所采用,这本身就是一个巨大的成功。最近,Blockbusterye也正在他们的MovieLink应用中把Flash换成Silverlight 2。

  功能和控件

  鉴于Silverlight 2的强大语言支持和类库,以及非常高的运行时(runtime)性能,它最终可以被人们应用于各个领域的RIA开发,而不仅仅局限于视频流应用。

  目前,它可能还缺少某些应用所需要的一些用户界面控件功能,在标准的Silverlight控件工具箱中只有28个控件,另外在Silverlight工具箱中还有12个,不过在未来数月中微软计划将控件的数量增加到100个以上。另外,制作新的Silverlight控件并不困难,许多第三方独立软件厂商已经制作出自己的控件,不过,如果你不多点耐心的话,你会发现微软最终会提供你所需要的任何控件。

  在进行跨域访问时会面临安全问题,这是任何基于浏览器的应用都存在的一个潜在难题,不管它是使用的Silverlight插件还是使用的Flash插件。Silverlight有自己的跨域安全机制,通过一个清晰明了的文件设置进行控制,默认设置下就具有最安全的设置。

  尽管有这种安全机制的保护,我依然在网上看到很多批评的声音,认为Silverlight本地数据存储非常容易受到跨域攻击,我没有去对此进行考证,不过我想指出的一点是,批评者们也同样指出,Flash的本地对象同样无法防御类似的攻击,因此这并非Silverlight自身所独有的问题。

  开发和设计

  我使用了Visual Studio 2008 SP1和Expression Blend 2 SP1尝试了Silverlight 2开发,开发工具很易上手,使用其开发也非常简单,当然这或许是因为我已经非常熟悉Visual Studio、C#、.NET框架和XAML。因此我相信,其它熟悉.Net语言和XML开发的朋友,也应该可以很轻松的学习和开发Silverlight应用。

  XAML编程的基本方法就是赋予对象一个x:Name标签,例如:

<TextBlock x:Name="message1" Text="Message:" ></TextBlock>
0
相关文章