我正在开始一个新的Web项目,我正在考虑两个演示框架。我在考虑ASP.NET MVC或Silverlight。我倾向于Silverlight,因为我是非常有经验的.NET开发人员,而我只掌握ASP.NET控件的基本知识。
答案 0 :(得分:33)
它主要是一个iternal 产品所以浏览器不是问题。
您仍未撰写有关应用程序性质的正确的描述。如果不充分了解应用程序所适用的领域以及它旨在解决的问题,很难评估哪种技术是合适的。
总的来说,微软将这些演示技术阵列定位于“ Reach vs Rich ”连续体。你有一个“普通老”的HTML和Javascript,可以被大多数客户端计算机所接受,而另一方面最终完整的WPF可以处理有限数量的机器。您确实提到这是一个内部应用程序,因此也可以通过XBAP或ClickOnce进行WPF。
因此规模将以这种方式对齐:(达到)ASP.NET,AJAX,Silverlight,WPF(丰富)。
所以问题是,在用户受到部署影响之前,您希望/需要它有多丰富?坦率地说,如果您获取的只是表单和表格数据和统计信息,那么常规的ASP.NET Web表单就可以了。如果您想要动态可调整大小的图形以及使用后端WCF Web服务的客户端交互,Silverlight可以做到这一点。如果你想通过远程部署选项比WPF更强大的图形渲染是你的赌注。
答案 1 :(得分:5)
带有RIA的Silverlight 3似乎非常强大。在使用VB6之后,我没有编程6年。我大约一个月的时间,在这里,我正在开发一个使用SL3,WCF和实体框架的Web应用程序,我觉得很舒服。
银光论坛和堆栈流程非常活跃,对于我曾遇到的一些问题,我已经能够轻松获得解决方案。
我还不确定的一件事是表现。
答案 2 :(得分:4)
无论是个人还是专业,我都会为Windows表单应用程序和Windows服务编写C#daily。即使经过多年的努力,我发现使用PHP或Python制作Web应用程序比使用.NET更快。也许Silverlight已经发生了变化,但对我而言,与回报相比,ASP.NET的学习曲线是荒谬的。
编辑:以上是在我尝试ASP.NET MVC之前写了一年左右。我发现ASP.NET MVC非常直观和干净。
答案 3 :(得分:3)
不要忘记Silverlight将要求使用插件,据我所知,它还没有被“本机”添加到IE中,更不用说其他浏览器了。因此,仅此一项就可能存在大量的维护/支持问题。 PDF文件现在被认为是“普遍存在的”,但是你仍然遇到一两个用户,他们的计算机上没有Adobe Reader,而且经常发生在一个糟糕的时间,然后你就开始寻找安装人员。 / p>
从根本上讲,这使我无法为我的网络应用做Silverlight。我认为它背后的技术是好的,但考虑到现在你可以通过一个漂亮的Webforms / MVC / AJAX / jQuery组合(根据你的喜好混合搭配)获得相同的可见性/功能,我会说坚持使用ASP.NET。 / p>
答案 4 :(得分:2)
IMO你可能会更好地使用ASP.Net。虽然你会有一个轻微的学习曲线,但你将在一个经过验证的,可靠的,可扩展的模型上开发,而不是在beta版本中,并且可能会在RTM之前发生变化。
此外,使用AJAX这些天可以从ASP.Net获得非常流畅的用户体验。
答案 5 :(得分:1)
我建议使用ASP.NET,不需要额外下载。
我使用Silverlight但很多公司都不允许用户安装任何东西,家庭用户也不乐意安装浏览器插件,Silverlight并不像Flash播放器那样。
对于初学者和高级程序员,您可以在。
找到视频教程答案 6 :(得分:0)
在不知道您的应用程序是什么的情况下,很难推荐一个在另一个上面。无论您做什么决定,请确保牢记目标受众;不是每个人都会在他们的计算机上安装Silverlight。
就个人而言,除非我设计一个令人难以置信的交互式和漂亮的网络应用程序,否则我会使用ASP.NET(有或没有MVC框架),如果只是因为有一个吨它的参考资料,而Silverlight仍然是一个相对较新的领域。
答案 7 :(得分:0)
它主要是一个iternal产品,所以浏览器不是问题。它更多的是关于发展的价格。学习Silverlight模型或ASP.NET模型更容易吗?我希望Silverlight基于WebServices,因此它可能会将我的应用程序代码明确划分为业务逻辑(服务)和演示(Silverlight应用程序)。
答案 8 :(得分:0)
鉴于你在.NET中的背景,但Asp .net经验有限......我认为你更像是服务/客户。这意味着你的javascript可能只是有限......如果是这样的话,我会选择Silverlight。它将使您轻松进入WPF,您可能会在将来使用它。
但更重要的是,使用Silverlight 2.0更像是构建沙盒桌面应用程序。不仅仅是一个Web应用程序。如果您之前的经验是使用客户端应用程序,那么您将更加熟悉Silverlight。
如果你想进入构建网站/应用程序,请使用ASP .NET MVC。
无论哪种方式,对典型ASP .NET控件的了解都不会太远,因为它们适用于WebForms。
答案 9 :(得分:0)
我会说 - 除非你需要类似Flash的动画和交互功能 - 去ASP.NET吧。对程序进行编程更简单,并且不需要为用户额外下载。
答案 10 :(得分:0)
我认为只有在想要创建Flash等应用程序时才需要Silverlight。这些应用程序组合成一个可执行文件,可在客户端计算机上下载一次。如果服务器需要任何数据或驻留在服务器上的任何功能,它们可以与服务器通信。最终用户需要安装Silverlight环境附加组件才能帮助运行这些应用程序。
然而,如果你创建一个asp.net应用程序,它的代码驻留在服务器本身并在其上执行,因此一个简单的互联网浏览器可以执行它。但缺点是,对于用户交互式应用程序,当代码需要时,需要在服务器和客户端机器之间进行单独的调用。