8

如果我理解正确,Microsoft Silverlight是一个轻量级的 .NET 实现,旨在在浏览器内的客户端运行。所以现在我听说“浏览器外”silverlight 应用程序,我很困惑。

与传统的 .NET 桌面应用程序相比,“浏览器外”silverlight 应用程序有什么优势?

4

3 回答 3

5

Silverlight 应用程序的浏览器外安装仍然在安全沙箱中运行,而传统的 .NET 桌面应用程序则不会。

OOB 的目标是让用户能够将基于 Web 的应用程序从其浏览器容器中取出并使其更易于访问。它仍然是一个基于 Web 的应用程序。值得牢记的是,这适用于传统的 .NET 桌面应用程序无法在 Mac 上运行。

SL4 OOB 现在可以要求用户提高信任度,这一领域变得更加混乱。现在沙盒更加轻松,使用原生操作系统的机会也更多。但是,仍然存在许多限制,主要是为了支持多平台。如果受信任的 OOB 倾向于仅在 Windows 上工作,这将是不可取的。能否避免这种情况还有待观察。

因此,如果您正在考虑一个完整的 Windows 桌面应用程序,那么使用 WPF 可能会更好。另一方面,如果您不需要完全访问操作系统,您可以通过网页交付和/或希望能够在 Windows 和 Mac(可能还有其他平台)上运行,然后可能是 Silverlight 4 OOB+Elevated信任可能是你所需要的。

于 2010-03-11T12:32:05.070 回答
3

Silverlight 3 浏览器外应用程序允许任何 Silverlight 应用程序具有桌面快捷方式,并且不需要打开浏览器即可运行该应用程序(因此从技术上讲,即使您处于离线状态,您现在也可以运行该应用程序,因为您不必通过网络获取 SL 应用程序)。

使用 SL 4,您现在可以拥有提升的权限,允许 SL 应用程序访问本地资源(例如网络堆栈和文件系统)。

还有一个用于浏览器外 SL 应用程序的简单 API 调用,用于在启动时检查更新,并从服务器下载更新。这可以看作类似于单击一次部署,但它会自动快速地发生,因此它比单击一次更有效和直接。

与传统的 .NET 应用程序相比(在这种情况下,让我们与 WPF 进行比较,因为这实际上是 WinForms 的替代品),安装方式很少。没有安装程序,只有 xap 文件,很容易托管在网络上并且可以非常快速地安装。SL 使用简化的 .NET 框架,这似乎是负面的。但是,SL 应用程序的典型模式是将大部分繁重的工作放在服务层中。然后,在服务层中,您拥有完整的 .NET 框架,并且几乎可以做任何您想做的事情(例如使用 ADO.NET 访问数据库)。

于 2010-03-11T12:21:03.813 回答
0

库是两个应用程序之间要考虑的另一件事。例如,Silverlight 4 原生内置了对开箱即用的网络摄像头和麦克风通话的支持,而 WPF 和完整的 .net 框架有一个非常大的第三方库社区可供您使用,您可能需要这些库的源代码如果您希望在 Silverlight 下重建它们。

另一个因素是沙盒中的限制,例如,您将无法编写可以使用 Silverlight 4 中的任何套接字连接到任何服务器的应用程序。

于 2010-03-12T20:50:54.107 回答