我正在开始一个新的网络项目,并且正在考虑两个演示框架。我正在考虑 ASP.NET MVC 或 Silverlight。我倾向于使用 Silverlight,因为我是一位经验丰富的 .NET 开发人员,而我只具备 ASP.NET 控件的基本知识。

有帮助吗?

解决方案

它主要是ITERNAL产品,因此浏览器不是问题。

你还没有写过 恰当的 关于您的应用程序性质的描述。如果不首先充分了解应用程序所应用的领域及其旨在解决的问题,则很难评估哪种技术最适合。

总的来说,微软将这一系列的演示技术定位在“覆盖面与富裕程度“连续体。一端有“普通的旧式”HTML 和 Javascript,可供大多数客户端计算机接受,另一端有最终的成熟 WPF,有限数量的计算机可以处理。您确实提到这是一个内部应用程序,因此也可以通过 XBAP 或 ClickOnce 进行 WPF。

所以比例尺会这样对齐:(触及)ASP.NET、AJAX、Silverlight、WPF(丰富)。

所以问题是,在损害部署基础之前,您希望/需要它为用户提供多丰富的服务?坦率地说,如果您获取的只是表单、表格数据和统计信息,那么常规 ASP.NET Web 表单就可以了。如果您想要动态调整大小的图形以及客户端与后端 WCF Web 服务的交互,Silverlight 可以做到这一点。如果您想通过远程部署选项获得比 WPF 更强大的图形渲染功能,那么您的选择是正确的。

其他提示

Silverlight 3 加上RIA 看起来很强大。在使用 VB6 之后,我已经 6 年没有编程了。我大约花了一个月的时间,在这里我正在开发一个使用SL3、WCF和实体框架的Web应用程序,我感觉很舒服。

当然,silverlight 论坛和 stackoverflow 非常活跃,对于我遇到的一些问题,我已经能够轻松找到解决方案。

我还不确定的一件事是性能。

无论是个人还是专业,我每天都为 Windows 表单应用程序和 Windows 服务编写 C#。即使经过多年,我发现使用 PHP 或 Python 开发 Web 应用程序比使用 .NET 快得多。也许 Silverlight 的出现改变了一切,但对我来说,与回报相比,ASP.NET 的学习曲线是荒谬的。

编辑: 上面的内容是在我尝试 ASP.NET MVC 之前一年左右写的。我发现 ASP.NET MVC 非常直观和干净。

不要忘记 Silverlight 需要插件才能使用,而且据我所知,它还没有“本地”添加到 IE 中,更不用说其他浏览器了。因此,仅此一项就可能存在大量维护/支持问题。PDF 文件现在被认为是“无处不在”,但您仍然会遇到一两个用户的计算机上没有 Adob​​e Reader,而且这种情况通常发生在不合适的时间,然后您就四处寻找安装程序。

从根本上讲,这就是阻止我为我的 Web 应用程序使用 Silverlight 的原因。我认为它背后的技术很好,但考虑到现在您可以通过良好的 Webforms/MVC/AJAX/jQuery 组合(根据您的喜好进行混合和匹配)获得同等的可见性/功能,我会说坚持使用 ASP.NET。

在我看来,使用 ASP.Net 可能会更好。虽然您会有轻微的学习曲线,但您将在经过验证的、可靠的、可扩展的模型上进行开发,而不是在测试版中并且可能会在 RTM 之前发生变化的模型上进行开发。

此外,如今通过 AJAX,可以从 ASP.Net 获得相当流畅的用户体验。

我推荐ASP.NET,不需要额外下载。

我使用过Silverlight,但是很多公司不允许用户安装任何东西,家庭用户也不乐意安装浏览器插件,Silverlight并不被称为Flash播放器。

对于初学者和高级程序员,您可以在以下位置找到视频教程。

http://www.asp.net/mvc

如果不知道您的应用程序是什么,则很难推荐其中一种。无论您做什么决定,请确保牢记您的目标受众;并不是每个人都会在他们的计算机上安装 Silverlight。

就我个人而言,除非我正在设计一个令人难以置信的交互式且漂亮的 Web 应用程序,否则我会选择 ASP.NET(无论有或没有 MVC 框架),只要有一个事实 虽然 Silverlight 仍然是一个相对较新的领域,但它仍然是一个参考资料。

它主要是一个内部产品,因此浏览器不是问题。更多的是关于开发的价格。学习Silverlight模型和ASP.NET模型哪个更容易?我希望 Silverlight 基于 WebServices,因此它可以清楚地将我的应用程序代码划分为业务逻辑(服务)和表示(silverlight 应用程序)。

鉴于您有 .NET 背景,但 Asp .net 经验有限...我认为你更像是一个服务/客户人员。这意味着你的 javascript 可能同样有限......如果是这样的话,我会选择 Silverlight。它将让您轻松熟悉 WPF,您将来可能会使用它。

但更重要的是,使用 Silverlight 2.0 感觉更像是构建沙盒桌面应用程序。不仅仅是一个网络应用程序。如果您以前有使用客户端应用程序的经验,那么您会更熟悉 Silverlight。

如果您想开始构建网站/应用程序,请使用 ASP .NET MVC。

无论哪种方式,典型 ASP .NET 控件的知识都不会走得太远,因为它们是用于 WebForms 的。

我想说,除非您需要类似 Flash 的动画和交互功能,否则请选择 ASP.NET。它的编程更简单,并且不需要用户额外下载。

我认为只有当您想要创建像 Flash 这样的应用程序时才需要 Silverlight。这些应用程序被组合成一个可执行文件,在客户端计算机上下载一次。如果他们需要驻留在服务器上的任何数据或任何功能,他们可以与服务器通信。最终用户需要安装 Silverlight 环境插件来帮助运行这些应用程序。

然而,如果您创建一个 ASP.NET 应用程序,它的代码驻留在服务器本身并在服务器上执行,因此一个简单的 Internet 浏览器就可以执行它。但缺点是,对于用户交互式应用程序,当代码需要时,需要在服务器和客户端计算机之间进行单独的调用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top