【发布时间】:2010-04-08 17:17:14
【问题描述】:
我们有一个使用 ASP.NET/Ajax 开发的现有 Web 应用程序 我们计划将其移至 WPF 或 Silverlight。
有人可以比较这两种技术在生产力、性能、可维护性、权衡取舍、优缺点等方面吗?
另外,我是否也知道使用 Silverlight 优于 ASP.NET/AJAX 的优点/缺点?
感谢阅读。
【问题讨论】:
标签: asp.net wpf ajax silverlight
我们有一个使用 ASP.NET/Ajax 开发的现有 Web 应用程序 我们计划将其移至 WPF 或 Silverlight。
有人可以比较这两种技术在生产力、性能、可维护性、权衡取舍、优缺点等方面吗?
另外,我是否也知道使用 Silverlight 优于 ASP.NET/AJAX 的优点/缺点?
感谢阅读。
【问题讨论】:
标签: asp.net wpf ajax silverlight
如果您使用 WPF,它本质上是一个“Pretty WinForms 应用程序”,而如果您使用 Silverlight,那么您将拥有一个“易于部署和管理的漂亮网络应用程序”。两者中的代码几乎相同,但这取决于您要定位的目标。鉴于您要替换 Web 应用,Silverlight 可能更有意义。
【讨论】:
只有在客户端计算机上安装了 .NET 环境时,WPF 才会运行。 Silverlight 类似于 Adobe Flex(添加到网络浏览器的插件“运行时”)。
【讨论】:
WPF 基本上在桌面环境中运行,而 Silverlight 在基于浏览器的环境中运行。因为您在 ASP.Net/AJAX 中的应用程序选择 Silverlight。 Silverlight 是 WPF 的子集。所以像动画、控件模板、数据绑定(数据模板)这样的大部分事情都可以在 Silverlight 中完成。我发现使用 WPF/Silverlight 的主要优势之一是我们可以将 UI 团队和业务逻辑开发团队分开,以便他们可以同时工作。基本上它决定是使用桌面环境还是使用基于浏览器的问题。
比较性能 桌面应用程序与基于浏览器的应用程序相比将占上风。使用诸如表达式混合之类的应用程序进行 UI 设计,这将为您的开发提供更大的灵活性。另一个优势是资源。这有点类似于 css,但它有一些很棒的附加功能来覆盖样式和基于键的样式开发。 如果你希望你的应用程序基于浏览器,我的建议是使用 Silverlight,否则选择 WPF。
【讨论】:
如果您希望它保留为 Web 应用程序,您应该明确选择 Silverlight。另一方面,如果您愿意将此作为可安装的 Windows 应用程序,那么 WPF 将是更好的选择。
【讨论】:
如果您使用 MVVM 模式来设计您的应用程序,那么从一个迁移到另一个甚至两者都不是很难。您还可以让设计师使用 Blend 进城,而无需费力地编写代码。
我的建议是使用一个或两个,但使用 MVVM 模式(复合应用程序指南在这方面有很大帮助)。
【讨论】:
除了上面所说的:您的应用程序的架构会有所不同,具体取决于您将其开发为 WPF 应用程序还是 Silverlight 应用程序。使用 Silverlight,您很可能必须使用 RIA 服务,并且与 WPF 相比,您的模型有不同的概念。 另外,很多人认为 Silverlight 会倒闭。所以你最好看看Html5
【讨论】: