【问题标题】:Webforms vs Razor vs MVC and Industry Uses [duplicate]Webforms vs Razor vs MVC和行业使用[重复]
【发布时间】:2023-03-30 07:11:01
【问题描述】:

我非常熟悉 C# 和 Web 开发,所以我决定重新研究开发 aspx 网站的世界 - 在 Lamp 工作了几年之后。由于我真的只熟悉 MS 术语中的经典 asp 时代,因此我对何时使用哪种方法有一些疑问 - 以及关于哪种方法可能在行业中受到青睐的更多见解。

我曾多次看到此类问题被问到,但找不到像我要找的那样具体的问题:

  1. 我意识到 ASP MVC 是开发健壮 Web 的主要方法 应用程序,但这是否是正确的方法,即使是简单的, 除了干净和/或不需要太多的客户网站 响应式设计?如果不是,那么我应该查看 Web 表单吗 在?

  2. 除了专注于我必须做的几个网站(我计划通过 ASPX 做)之外, 我应该关注什么以获得更实用的展示方法 我的 C#/ASP 能力,以获得初级/中级开发人员角色 使用 C#/.NET 等。

*3。差点忘了,对一些适用于使用 C# MVC、WPF、WCF、Razor 等实际场景的好书的任何可能的建议都会有所帮助

【问题讨论】:

标签: c# asp.net asp.net-mvc razor


【解决方案1】:

理论上,ASP.NET Web Forms 应该更适合快速原型设计,即。快速将一些东西放在一起,而不是真正关注可伸缩性和关注点分离等事情。

另一方面,ASP.NET MVC 在视图和逻辑之间实现了更好的分离,当您想要构建关注点分离和可伸缩性很重要的大型应用程序时,应该采用这种方法。

话虽如此,我个人永远不会选择 ASP.NET Web 窗体,即使是小项目也不行。我发现 ASP.NET MVC 是一种更简洁的方法。对我来说,Web Forms 只是试图通过 HTTP 强制一个桌面开发模型,这只是一个泄漏的抽象,因为您很快就会试图绕过这个模型,因为它不适合。至于快速原型设计,MVC 确实没有快速的网格视图和精细的控件,但我个人认为,通过结构良好和分离的方式,更不用说真正的 HTTP 模型,您将获得更快的速度。

至于你应该关注的其他事情,我认为除了服务器端,客户端开发越来越重要。除了简单的 JavaScript 之外,jQuery 几乎是必备的,最近 AngularJS 和 Durandal 等 SPA 框架获得了很大的关注。 另一方面,整个云概念在某些情况下需要特定的知识。如果您将专注于 c#/.NET,我会说看看 Azure(您可以获得 90 天的免费试用版)。 在所有这些之间,有一系列不同的技术值得了解,但我想说的是从你需要的东西开始,在一些技术上投入时间,并尝试跟进新技术。

请确保您不要让自己被流行语引导,而是专注于那些真正帮助您解决问题的技术。

【讨论】:

  • 谢谢,我对 js、jquery 和原型很熟悉,因为我做过大量的前端工作。我对 AngularJS 进行了几次探索,但还没有完全了解它的功能。不过现在,我正努力专注于我最熟悉和最喜欢的后端工作,因为这里的大多数工作似乎都要求基于 MS 的开发。
  • 另一个问题:我应该在这些较小的网站上使用 MVC,还是只用剃须刀更合适?
  • 我认为这并不重要。对于一个小型站点,我想只需要剃刀就可以(尽管我从未单独使用过它)。我的建议是,如果你想学习,就用 MVC,一开始可能会有点困难,但你会学到更多。
  • 谢谢,我肯定计划很快使用 MVC。但是,我的任务是制作画廊/摄影师网站并计划使用 MS 堆栈。只是觉得这里的 MVC 可能有点矫枉过正——尽管我会试一试。
  • +1 很棒的答案,我正在考虑这个问题,@Kenneth 回答了我的疑问。
【解决方案2】:

只是我的意见,但是,

  • MVC 适合小型、干净的站点。在类似的基础上,它通常比 ASPX 等价物更干净(因为它携带的状态更少并且页面大小往往更小)。响应能力实际上取决于您包含的 CSS 和 JS。
  • 首先,专注于你真正喜欢的东西,但看看一些想法,如 Angular JS 或 KnockoutJS 以及 IoC、依赖注入、测试驱动开发、实体框架和 Azure 等后端。
  • 只需浏览 ASP.Net 上的各种 Getting StartedMVC 内容、示例和开发博客,那里就有大量有用的信息。

【讨论】:

  • 为什么说 MVC 适合“小型”网站?在我看来,站点越大,您从它的干净分离中获得的好处就越多,更不用说它具有与区域进行分区的能力
  • 我看到很多网站都有 .aspx 扩展名——这是否意味着他们更喜欢 Web 表单而不是 MVC?您能否提供关于为什么会这样的见解?
  • 它们可能是较旧的站点和/或由出于多种原因的公司建造的,例如该站点在任何可用的现代替代方案之前使用此站点,已建立团队使用这种方法,内部没有 MVC 技能,等等……实际上,如果您仔细观察,您可能会发现不以 ASPX 结尾的栏杆要多得多。
  • 非常有用的信息,我将尝试使用 MVC,但我真正想知道的是,为什么这会成为一个简单的 6 页网站的选择?
  • 页数与它没有任何关系。 MVC 没有对站点大小施加任何最小限制。事实上,MVC 已经被用于从单页应用程序上来的所有内容。 codeuniquely.co.uk 是使用 MVC 在短短几分钟内构建的。代码非常干净和轻量,没有真正的开发人员开销来让它在移动设备上正常工作。为什么选择完全取决于您。我是 ASPX 的忠实粉丝,但在过去的 4 年里我没有在使用它的单个网站上工作过。
【解决方案3】:

MVC 更适合维护复杂的 Web 应用程序。如果它是一个简单的网站,我不会过度使用 IoC 、 Mocking ,Web 表单更适合快速原型设计和 RAD。

【讨论】:

  • 谢谢,随着阅读的深入,我开始了解更多,但我仍然不明白为什么我会为一个简单的 6 页网站使用 ASP MVC 模式。如果我使用数据库并执行某种类型的 CRUD 应用程序,我会理解的。
  • 创建 MVC 应用程序时在 Visual Studio 中获得的默认模板约为 4 页,编辑/响应式/不显眼超级简单。所以对于 6 页,您可以非常快速地添加额外内容,因为您不必将所有额外的 NuGet 东西扔进去(作为可选),这可能是一种剪牙的好方法 - 可以这么说.. :)
猜你喜欢
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 2011-01-16
  • 2020-07-31
  • 2013-12-27
  • 2021-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多