为什么有或没有你转移到ASP.NET MVC了?

时间:2010-04-02 17:30:29

标签: asp.net-mvc

我发现自己处于尝试ASP.NET MVC的边缘,但仍有“某些东西”阻碍了我。你还在等待尝试吗,如果是的话,为什么?如果你最终决定使用它,是什么帮助你克服了你的犹豫?

从技术角度来看,我并不担心;我知道Web表单与ASP.NET MVC的优缺点。我的担忧更多是在实践方面。

  1. 如果Microsoft MVC未达到使用它的开发人员/客户的某个关键门槛,他是否会继续支持它?
  2. 客户是否愿意尝试使用ASP.NET MVC?您是否必须说服客户使用它?那是怎么回事?
  3. 是否有使用ASP.NET MVC的主要网站(除了SO)?如果你有链接,你能提供链接吗?
  4. 您是否尝试过ASP.NET MVC并发现自己后悔了?如果是这样,你有什么后悔的呢?
  5. 如果您有任何其他问题阻止您使用ASP.NET MVC,它们是什么?

    如果您有疑虑但觉得它们已被解决并且现在使用ASP.NET MVC,您是否也可以列出它们?

10 个答案:

答案 0 :(得分:5)

  

如果Microsoft MVC没有达到使用它的开发人员/客户的关键门槛,他们会继续支持它吗?

他们肯定会。

  

客户是否愿意尝试使用ASP.NET MVC?您是否必须说服客户使用它?那是怎么回事?

客户关心高品质的产品和价格。只是说服他们Mvc将有助于提高质量和降低价格。不应该很难。

  

是否有使用ASP.NET MVC的主要网站(除了SO)?如果你有链接,可以提供链接吗?

对SO来说还不够吗? :)

  

您是否尝试过ASP.NET MVC并发现自己后悔了?如果是这样,你有什么后悔的呢?

我确实尝试过,并没有后悔。它让我不得不再次在Web表单项目上工作。


去吧!

答案 1 :(得分:3)

  1. 我相信ASP.NET MVC已经达到了这个关键门槛,正如VS 2010工具,ASP.NET,MS员工博客和微软迄今为止在框架中付出的广泛努力所显示的那样。我认为这个框架在未来十年(或两年)内不会消亡。

  2. 对于客户,我认为你的意思是我建立网站的人?我在ASP.NET中找到的唯一问题是托管解决方案。然而,由于找到了更实惠的托管解决方案,这个问题变得没有实际意义。但通常情况下,如果我相信技术并且它将对我的客户起作用,我的客户会信任我并同意它。 ASP.NET-MVC是Microsoft的产品,客户也常常感到安慰。拥有一家大公司背后的技术总是一件好事,因为你可以放心,经常更新将会支持它。

  3. ASP.NET MVC是一个相对较新的框架,预计新技术的采用会很慢。但这就是我发现的:http://weblogs.asp.net/mikebosch/archive/2008/05/05/gallery-of-live-asp-net-mvc-sites.aspx。我认为,当VS 2010 / .NET 4发布并内置支持ASP.NET MVC时,你会看到大量使用ASP.NET-MVC的网站。

  4. 我从不喜欢使用C#/ ASP.NET进行开发,而不是在我开始使用ASP.NET-MVC时。在某种程度上,由于ASP.NET-MVC继承了关注点的分离和易于定制,ASP.NET-MVC迫使您编写比WebForms更好的代码。并且控制HTML输出的能力是必不可少的,这是ASP.NET-WebForms(4.0之前版本)难以实现的功能。

答案 2 :(得分:3)

我使用MVC并且讨厌它,尤其是前端,Web表单在前端更好......在页面上有大量的javacript,这意味着它很难维护并且需要更长的时间才能完成开发和调试..

要做一个非常复杂的页面,MVC的灵活性是有限的,你最终会使用大量的javascript控件,你知道吗?不同的控件使用不同版本的jquery,它们有冲突..

实际上是javascript,缺乏用户界面的灵活性让我失望,特别是你没有处理你的代码

我们有更多的浏览器兼容性问题,随着新浏览器的推出,你将用MVC拍摄自己

如果你的网站不是太大,MVC前端非常快.. MVC的后端非常好,它是吹过它的前端

答案 3 :(得分:2)

为什么不呢?我团队的其他成员不想这样做。

答案 4 :(得分:1)

我还没有尝试编写一些ASP.Net MVC(虽然看了几个例子),但是阻止我们使用它的主要原因是我们所有的代码目前都是使用Webforms编写的。

答案 5 :(得分:1)

  1. 关于Microsoft支持ASP.Net。 MS的开发副总裁斯科特格思里(Scott Guthrie)首先支持它,因此这只是其中的一个优势。其次是它的开源,所以即使由于一些奇怪的原因,MS决定不支持它,如果你需要,你仍然可以自己调整它。另外,MVC模式是越来越多的Web开发平台正在使用的一些模式。这是一个很好的Web开发模式,因此我无法想到MS会不会继续支持它。
  2. 如果客户是指最终用户,说实话他们不应该关心如何实施网站。如果客户意味着咨询客户,如果您可以更快地开发并且他们拥有可以托管它的服务器,我认为他们会对此持开放态度。最重要的是,MVC网站应该使用比典型Web窗体网站(IMHO)更少的带宽,主要是因为Web窗体页面中有很多其他内容(例如, HTML htat是为Web表单(ViewState)量身定制的,所以应该被他们看作是积极的。现在,如果客户意味着人们与您集成,那么它也是一个优势,因为MVC使得实现基于REST的Web服务变得非常容易(不是说WFC没有,但MVC也能很好地工作)。
  3. 使用MVC的主要网站,到目前为止我找到了一个列表here我也知道在大型MVC应用程序正在开发的不同公司的许多应用程序。我希望我能提供更多细节,但不幸的是我现在还不能。
  4. 当我第一次开始使用ASP.Net MVC时,我以为我会讨厌它。我也不是Web Forms的忠实粉丝,但MVC只是感觉回到了ASP开发之前.Net出现了。然后我开始真正进入它并且真正发现模式是干净,简洁,可扩展,可维护且易于拾取。老实说,我不想再回到Web窗体,只要我发现自己在做一个.Net Web应用程序,我就会把它变成一个MVC项目。

答案 6 :(得分:1)

您需要选择更适合您产品的产品。在某些情况下,Webforms对mvc有一些建议。

最重要的是在中小型商店从事内部工具的开发人员。在这种情况下:

  • 大型观看状态不太可能成为问题,因为您的用户通常会将100Mbit上传到您的网络服务器而不是128Kbit或更低。
  • 每个人都支持Javascript
  • 开发时间比广泛的跨浏览器兼容性或更好的设计更重要。
  • 您可能会与曾经进行桌面/表单样式开发的继承开发人员合作,或者在不熟悉Web开发的初级开发人员中有很多流失。

所有这些事情共同意味着webforms仍然非常适合。说实话:在公共互联网工作中,有更多的程序员在这些中小型内部商店工作。所以webforms不会去任何地方。

也就是说,这些小商店中出现的一件大事可能就是采用他们的内部工具,并将其提供给远程办公人员。在这种情况下,您需要开始担心更多关于WAN性能奇怪的浏览器问题,其中MVC可能更适合。

答案 7 :(得分:1)

德克萨斯州和印度的

Dell is hiring masses of ASP.NET MVC developers在他们的许多网站上做了大量工作。

根据The Gu,ASP.NET MVC将拥有自己的产品和开发周期。它现在100%与ASP.NET WebForms分离,并且它不会消失。

答案 8 :(得分:0)

您是否尝试过ASP.NET MVC并发现自己后悔了?如果是这样,你有什么后悔的呢?

我不后悔尝试MVC其实我喜欢它。当我开始它时,我讨厌它,我一直在寻找文件后面的代码,并且一开始不确定如何在不使用textbox1.Text的情况下获取文本框和内容的值。

现在我每次回到webforms都会感到畏缩,并希望我能在ASP.NET MVC中编写它,因为我只是喜欢你使用html而不是使用拖放控件,这通常会让你的生活变得更加艰难定制它们很多。我喜欢ASP.NET MVC喜欢关注优秀代码,如Repository模式等设计模式以及如何使用TDD进行单元测试。

我还没有在MVC中找到一本书,他们谈到了如何制作好的代码。我并不是说你不能在Webforms中编写好的代码,但是在我看过的书和类中教授ASP.NET,这似乎永远不是主要的焦点。

例如,我讨厌数据源控件,我在WebForms中辅导一些人,他们喜欢拖动数据源,然后在该数据源中编写SQL语句。然后在后面的代码中,他们使用这些数据来插入他们的记录。

因此,每次他们需要创建新的SQL查询时,都会拖动并创建新的datsource。所以现在你所有的逻辑都混合在了一起。这使得发现最新情况变得更加困难,如果需要,可以切换到不同的东西,当然这是有限的。

答案 9 :(得分:-1)

围绕“控制器”这个名称的东西只能意味着问题。

我今天早上尝试了Nerddinner http://www.asp.net/mVC/教程。我对webforms很满意,但是那个nerddinner教程没有任何意义,只是mvc1.0中的一个过时的,硬编码的配方甚至用当前的mvc2.0编译,可能Wrox制作了这个教程,只有他们才能拿出来格式化,没有内容。

我没有看到任何好的东西;我不需要的一堆硬编码约定。

我当然没有看到任何东西会让我说我想从网络形态转移,虽然这似乎是我读过的所有宣传。

他们在http://www.asp.net/mVC/主页上使用基于向导的本教程,同时声称模型是精简的,所有这些都是生成的代码,他们没有解释,默认的mvc模板项目有15个引用。

这个2页的网站设置和加载速度很慢。

直到我意识到我的数据模型与教程中的数据模型不匹配才30分钟,并且使用create controller和create view wizards生成的许多内容现在都失败了。

随着我在匆忙的教程中提供的内容,我无法恢复该项目。我会过去直到找到更好的文档。