【IT168 评论】之前,要在CLR上开发GUI,开发人员不得不在如下几个重要技术框架之中做出选择:Windows Forms、ASP.NET、WPF、GTK#和Silverlight早期版本。这些技术不仅具有兼容性、跨平台的问题,而且更为重要的是它们之前存在或多或少的差异。开发人员不仅要学习多种技术,开发出来的GUI也很难在Windows、Linux、Mac OS X和浏览器上复用或通用。但是,以上问题随着Silverlight 4的到来有望改观。
Silverlight最初以一个浏览器插件的形式来到人间,以期用于开发更为丰富的Web应用。然而,微软对Silverlight的功能不断进行强化,在Silverlight 3中提供了脱离浏览器运行的能力后,又在Silverlight 4中增加了提升权限的能力。通过提升权限,脱离浏览器的Silverlight应用程序就可以访问用户文件。除此之外,Silverlight 4还获得了无限制的Socket功能,内置的提醒API,甚至和COM进行互操作。
Silverlight一旦从浏览器迈进桌面的世界,它也就有可能成为一个具有跨平台能力的通用GUI框架。前几天,Miguel de Icaza在其博文《Silverlight: Universal GUI toolkit》中也表达了同样的观点:
未来的Silverlight版本将不再是一种Web独享的技术。用Silverlight来构建完整的桌面应用程序现在将成为可能。
同时,Miguel认为Silverlight 4将给大家带来了极大的惊喜,已经可以完全和AIR进行竞争了。他甚至还打算用Silverlight来开发一个BitTorrent客户端呢。
无独有偶,在Silverlight 3发布后不久,朱永光在其博客文章《使用Silverlight 3作为桌面应用程序开发平台》中也提出了类似构想:
Silverlight 3作为微软最新的RIA平台,为我们带来了很多新特性。RIA顾名思义,即要有Internet,又要有Applicaiton。不过我们是否可以只要Applicaiton,也就是说把Silverlight 3作为开发桌面应用程序的一个平台呢?
为什么这样做呢?统一开发人员的技能,Web与桌面应用可轻易相互移植,方便开发跨平台应用程序。
除了第三方持这样的观点外,微软在发布Silverlight 4的同时也展示了一款用Silverlight开发的桌面应用程序——Fishbowl,以此向大家传递Silverlight可作为通用GUI框架的理念。
我们相信,未来会涌现出很多精彩纷呈的基于Silverlight的桌面应用程序,比如用Silverlight开发一款炫目的媒体播放器来播放本地音乐和在线音乐。