Silverlight 提供了脱离浏览器的体验

  • Abel Avram
  • 李剑

2009 年 3 月 20 日

话题:.NET语言 & 开发

MIX09主题演讲上,Silverlight 3 Beta版正式宣告发布。Silverlight 3 的应用程序无需额外插件或是运行时便可以作为桌面应用脱离浏览器运行。

用 Silverlight 3 创建的应用程序可以脱离浏览器。它第一次运行的时候会被载入浏览器,但是用户可以选择将它脱离。然后这个应用就会跟元数据一起存储到本地。接下来就可以跟其他本地应用一样从桌面启动了。这样在没有 Internet 连接的时候也可以离线运行 Silverlight 应用。

脱离浏览器的特性所带来的第一个问题就是安全。如果它跟其他应用一样都可以在本地运行,那它能访问所有的本地资源么?答案是,这些应用还是在.NET 沙箱中运行,所以跟在浏览器中一样,遵守同样的安全策略。

不管是在 PC 还是 Mac 上,这种应用都可以在桌面或是开始菜单上单击运行。它还可以检测网络连接是否存在,然后采取对应策略。例如,用户创建或修改的数据会在本地存储,当网络连接建立以后再向远程同步。

这种应用还可以自己做自动更新。启动以后,应用程序会检查自己的 URI,在网络连接以后下载最新版本。所以就跟在浏览器中一样,用户可以确定自己所使用的是最新版本。

MSDN 上的 Silverlight 3 Beta 版文档描述了使用脱离浏览器特性所要做的工作。简单总结如下:

  • 在 manifest 文件(AppManifest.xml)中增加 Deployment.ApplicationIdentity 元素,启用脱离浏览器特性。
  • 加一个菜单项或一个按钮,调用 Application.Detach()。它会负责整个流程。
  • 修改应用程序,保证它可以在无网络连接的时候正常工作。

InfoQ 上报道了 MIX09 上有关 Silverlight 和其他 Microsoft 技术的主题演讲。欢迎关注后续报道。

查看英文原文Silverlight Provides an Out-of-Browser Experience

.NET语言 & 开发