【发布时间】:2010-06-05 15:02:34
【问题描述】:
我不熟悉 WPF,但我已经看到了一些我喜欢它用于 Web 开发的东西。 我想知道在 asp.net (webforms/MVC) 上开发 WPFbrowser 应用程序有哪些优势,反之亦然。有哪些你可以在 asp.net 中做或使用而在 WPFbroser 应用程序中不能做的事情?
【问题讨论】:
标签: .net asp.net asp.net-mvc wpf webforms
我不熟悉 WPF,但我已经看到了一些我喜欢它用于 Web 开发的东西。 我想知道在 asp.net (webforms/MVC) 上开发 WPFbrowser 应用程序有哪些优势,反之亦然。有哪些你可以在 asp.net 中做或使用而在 WPFbroser 应用程序中不能做的事情?
【问题讨论】:
标签: .net asp.net asp.net-mvc wpf webforms
我想说主要区别在于 ASP.net 没有可供客户端下载的插件。这可以被认为是一个好处,尤其是在与限制其用户的大公司打交道时。这意味着用户可以放弃让 IT 部门添加诸如 Silverlight 之类的插件的繁琐工作。
WPF 的优势在于它确实有一个强大的客户端插件。与 ASP.net 相比,您可以使用 Silverlight 应用程序做更多的事情。
【讨论】:
区别是根本性的。
ASP.NET 是纯网络,您必须在其中托管代码的 Web 服务器和服务器生成的 html 代码将在其中工作的浏览器客户端。
在 WPF 的情况下,它是一个独立的二进制文件,将从服务器下载,它可以与某些浏览器上的插件一起使用并运行应用程序。
ASP.NET 将在不同的浏览器/操作系统上执行 Web 应用程序可以执行的任何操作。
WPF 几乎可以做任何你可以在桌面上做的事情(除了一些限制,例如:打印,如果用户接受它,你可以设法激活它)并且它只能在安装了适当的 .Net 框架的 Windows 中工作.
【讨论】:
如果您进行 Web 开发,您几乎肯定会使用 Silverlight 而不是 WPF。
WPF 浏览器应用程序 (XBAP) 只是 ClickOnce WPF 应用程序,托管在 IE shell 中并使用前进和后退页面导航。它们很少使用,在这一点上填补了标准 WPF 应用程序和 Silverlight 之间如此小的差距,你可能永远不会遇到。
Silverlight 不是 WPF,尽管它们使用相同的通用开发方法,并且 Silverlight 已被编写为在许多情况下使用镜像 WPF 的 API,因此代码实际上可以在它们之间来回移动.
WPF 是标准 .NET Framework (3+) 的一部分,是一种仅限 Windows 的客户端技术,可替代 WinForms 和一些本机 Win32 应用程序(即 Visual Studio 2010 的一部分)。 Silverlight 是一个 RIA(富 Internet 应用程序)运行时,托管在类似于 Flash 的跨平台浏览器插件中。它使用自己的 .NET Framework 版本,该版本与完整版共享 API,但不共享实际库。
除了其他答案中提到的注意事项外,由于 Silverlight 在浏览器中运行,因此您实际上可以将其用作 ASP.NET 页面的一部分并将两种技术混合使用。
【讨论】: