技术开发 频道

奥运会出风头Silverlight优or劣

  【IT168 评论】在2008北京奥运会上最出风头的RIA技术是什么?当然是微软的Silverlight。美国国家广播公司NBC在转播北京奥运中使用了Silverlight技术,让人们领略到了这一技术的强大之处,但是目前Silverlight也有一些副面消息,那今天我们也来看一下这个技术的十大优势和不足。

  首先需要声明的是,以下观点主要是从应用程序开发的角度来出发,而并不考虑设计方面。而且本文分析的对象是Silverlight 2.0而并非目前版本。

  Silverlight十大优势

  1、Silverlight插件,它意味着开发者可以在一个专门、一致的平台上开发基于浏览器的应用,而不用处理多种浏览器多个版本的复杂情况。你还可以实现纯HTML和JavaScript中很难甚至不能实现的视频和多媒体效果,当然Adobe公司的Flash也具有相同的优点。

  2、无需部署.NET平台就可以执行.NET代码。

  Silverlight插件实际上包含了一个精简版的.NET平台,而且用户无需下载体积庞大的安装程序,不用进行复杂的安装,用户只需要下载大约4M的安装包,所有安装工作都在浏览器中完成。根据我目前的体验来看,安装过程非常简洁。

  3、性能保证

  由于在运行的时候编译为本地代码,Silverlight在性能方面表现不错,通过这个简单的计算机示例(http://www.itwriting.com/primetest/index.html)你可以看到答案。但是在展现图形方面它可能不会表现如此好。

  4、支持Moonlight。

  这意味着有一个官方版的开源Silverlight实现,可以改善外界对微软的印象。

  5、Silverlight直接解释XAML语言,而Adobe的XML GUI语言MXML是在编译的时候将其转换为SWF。实际上,XAML页面被作为资源包含在编译好的.XAP文件中,用来部署Silverlight应用。一个.XAP文件就如同一个ZIP文件,只是扩展名不同。这同时意味着搜索引擎有可能会对Silverlight应用程序的文本进行索引,就和它们对Flash内容建立索引一样。

  6、第三方组件厂商已经纷纷推出Silverlight插件。例如Infragistics、ComponentOne和DevExpress。

  7、让你的.NET代码可以跨平台。

  现在使用苹果Mac系统的用户不在少数,如果能让Visual Basic或C#程序能够通过Silverlight客户端实现跨平台、跨浏览器,无疑对用户帮助是非常大的。当然这一点对现在的.NET开发者无疑非常有帮助。我认为这是Silverlight的主要市场,是个非常大的市场。这一点同样适用于第八条。

  8、使用Visual Studio。

  微软的IDE是一个成熟而好用的开发环境,而且它也是ASP.NET编程用的工具,因此你可以用它进行服务器端编程,同时还能用它进行Silverlight客户端编程。对于那些不喜欢使用Visual Studio的人来说,Silverlight SDK也支持命令行方式的编译。

  9、可以让用户选择编程语言

  从.NET推出以来它就以支持多种语言而闻名,在Silverlight 2.0中具有.NET运行时,这意味着你可以使用C#、Visual Basic进行你的客户端逻辑编程,或者借助于动态语言运行时DLR来支持Iron Ruby或Iron Python。

  10、单独的存储机制让Silverlight应用程序可以访问本地文件系统,不过它只能访问应用程序相关的特定位置,微软之所以这么做,是希望让用户通过一种相对安全的方式来使用这个功能。

 

  Silverlight十大劣势

  1、如果苹果甚至不允许Flash运行在iPhone上,那么Silverlight又有多少机会?

  2、RIA领域Silverlight是一个迟到者。Flash已经非常成熟,人们非常信任它,其普及度已经非常高。而Silverlight 2今年秋天刚刚走出测试。由于这个版本包含了.NET运行时,所以备受我们的关注,但是它依然却反对移动设备的支持,即便是微软自己的Windows Mobile也不例外,不过这是将来肯定会实现的一个功能。

  3、Silverlight的设计工具是Expression Blend和Expression Design,但是有谁会用它?在设计领域人们使用的是Adobe PhotoShop。

  4、尽管Expression Blend与Visual Studio能够兼容听起来不错,但是让开发者使用两个不同的工具实际上确实一件很麻烦的事情,尤其是在一些细节上还存在不兼容的现象,或许这是它们还处于测试版的原因。

  5、不支持通用的H.264视频编码格式。在Silverlight中是通过VC-1来实现高清视频的,而它的通用性要差很多。

  6、Silverlight是属于微软的一个专有技术,而并非基于一个开放的标准。

  7、的确,通过Moonlight可以支持Linux,但是什么时候才能实现呢?现在看来,似乎其Linux实现总是落后于Windows和Mac实现。

  8、Silverlight支持SOAP网络服务,或者REST,但是它没有一个类似Adobe的AMF的优化协议,这意味着在某些情况下性能会比较差。

  9、Silverlight是一个仅限于浏览器的解决方案,而Flash则可以通过使用AIR部署到桌面中。

  10、你必须在Windows上进行开发。对于Expression设计工具来说,这可能有点问题,因为设计者中有很多人在使用苹果的Mac系统。
 

0
相关文章