之前,要在 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 发布后不久,InfoQ 编辑朱永光在其博客文章《使用 Silverlight 3 作为桌面应用程序开发平台》中也提出了类似构想:
Silverlight 3 作为微软最新的 RIA 平台,为我们带来了很多新特性。RIA 顾名思义,即要有 Internet,又要有 Applicaiton。不过我们是否可以只要 Applicaiton,也就是说把 Silverlight 3 作为开发桌面应用程序的一个平台呢?
为什么这样做呢?统一开发人员的技能,Web 与桌面应用可轻易相互移植,方便开发跨平台应用程序。
除了第三方持这样的观点外,微软在发布 Silverlight 4 的同时也展示了一款用 Silverlight 开发的桌面应用程序—— Fishbowl ,以此向大家传递 Silverlight 可作为通用 GUI 框架的理念。
我们相信,未来会涌现出很多精彩纷呈的基于 Silverlight 的桌面应用程序,比如用 Silverlight 开发一款炫目的媒体播放器来播放本地音乐和在线音乐。
InfoQ 的读者朋友们,你的看法如何呢?会选择 Silverlight 4 作为唯一的界面开发技术吗?请留下你的投票。
评论