Silverlight Out of Browser技术表面上与WPF ClickOnce有相似之处。轻松简单的部署,指定对底层主机的信任访问级别的能力等。
在选择其中一个时,我需要考虑哪些关键问题?
为了更好地说明这一点,我将在仅运行 Windows 计算机的公司网络上部署 LOB 应用程序。
Silverlight Out of Browser技术表面上与WPF ClickOnce有相似之处。轻松简单的部署,指定对底层主机的信任访问级别的能力等。
在选择其中一个时,我需要考虑哪些关键问题?
为了更好地说明这一点,我将在仅运行 Windows 计算机的公司网络上部署 LOB 应用程序。
最重要的是跨平台兼容性。如果您需要您的应用程序在 Mac 和 Windows 上运行(不确定 Linux 是否支持 Silverlight),请使用 Silverligt。如果您想假设您的所有用户都将在 Windows 机器上,那么请使用 WPF。
显然,WPF 具有比 Silverlight 更丰富的工具包,因此很可能 Silverlight 不是一个选项。如果我只是为 Windows 构建,虽然我知道我的工作在 WPF 中会更容易。
鉴于您的目标是运行 Windows 的私有基础架构,有两点值得考虑
虽然您的目标平台可能安装了最新的 .Net 框架,但最后一点没有实际意义,请记住对框架的任何更新[即 .Net4.0 和任何未来的更新] 可能需要重新启动机器 - 这是一个需要持续开启状态桌面的企业的主要痛点[即金融领域的任何事物,如银行和交易]。
与所有问题一样,您的需求而不是技术应该为您的解决方案提供信息。:)
您提到了对主机的信任访问,除非您想运行 SL4(测试版),否则我认为排除了 Silverlight。
我们最近经历了很多关于文件系统访问的讨论。Silverlight 3 或多或少在部分信任沙箱中运行。您不能在应用程序的隔离存储之外维护指向文件系统中文件的指针。这对我们来说是一个问题,因为我们希望用户能够使用该应用程序来参考您文件系统上的零碎物品。也就是说,您可以允许用户从系统上的任何位置加载和保存文件,但您只需获取/或推送文件流,并且(据我所知)无权访问文件夹或文件路径信息。
Silverlight 4(测试版)支持您的应用程序在完全信任模式下运行。但是,我还没有玩过它,也无法说出它的效果如何。
在与许多同时使用 Silverlight 和 WPF 的人交谈时,即使是那些对 Silverlight 感到兴奋并大力推动它的人,我听到很多人相当强调地说,如果你打算专门为一个完整的开发信任Windows环境,WPF无疑是不二之选。
这并不是说 Silverlight 是劣质产品,也不是说 Silverlight 不会成为明显的赢家。但是,当您说“我将在仅运行 Windows 计算机的公司网络上部署 LOB 应用程序”时,听起来 WPF 显然是赢家。
您可以决定走 Silverlight 路线,期待所有伟大的新 OOB 功能 os SL4。我什至听说过 SL 和 WPF 最终会合并的传言,所以这可能并不重要,对吧?好吧,我认为如果您使用 Silverlight,您会发现一些您认为存在的高级功能并没有以您期望的方式出现。例如,SL4 将能够在“Elevated Trust”(非完全信任)中运行,您可能会在项目中的一个令人沮丧的点发现这种限制,因为您的许多代码库已经在 Silverlight 中。
当然,请继续关注 Silverlight,但对于您当前的业务案例,WPF 可能是最合适的。