2013-11-22 20 views
1

我很熟悉C#和网络的发展,所以我决定深入回到发展的aspx网站的世界 - 现在在灯工作了几年之后。由于我真的只熟悉MS时代的经典asp时代,因此我有几个问题需要考虑何时使用哪种方法 - 还有一些关于哪些方面可能会受到业界青睐的更多见解。Web表单VS剃刀VS MVC和工业用途

我见过这类的问题问了几次,但找不到任何具体的东西我要找:

  1. 我知道ASP MVC是开发健壮的主要途径网络 应用程序,但是这甚至不需要比一个干净的和/或 响应式设计多等简单, 客户网站正确的做法?如果没有,网络表单是什么,我应该看看 在?

  2. 专注于几个网站我必须做的(我计划通过ASPX做的)之外, 我应该把重点放在以获得更实用的方式向人们展示 我用C#/ ASP的能力,以便获得与C#/ .NET等工作的初级/中级开发人员角色

* 3。几乎忘记了,对于适用于使用C#MVC,WPF,WCF,Razor等实际场景的一些优秀书籍的任何可能的建议将会有所帮助

+1

它可能会迁移到http://webapps.stackexchange.com/ –

回答

5

理论上,ASP.NET Web Forms应该更适合快速原型即,快速投掷somethnig在一起,没有真正关注可扩展性和像关注分离等事情。

ASP.NET MVC,另一方面使得视图和逻辑之间更好的分离,应该去当您要构建大型应用问题和可扩展性的分离是很重要的方式。

话虽这么说,我个人绝对不会选择ASP.NET Web窗体,甚至不是一个小项目。我发现ASP.NET MVC是一种更简洁的方法。对我而言,Web Forms只是试图通过HTTP强制实施一个桌面开发模型,这只是一个漏洞的抽象,因为你很快就会试图绕过这个模型,因为它不适合。至于快速原型设计,MVC确实没有快速的网格视图和精细的控制,但是我个人认为,通过将结构分离和分离,而不是提供真正的HTTP模型,您将获得更多的速度。

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

只要确保你不要让自己遵循了流行语,并重点关注那些技术,实际上可以帮助你解决问题。

+0

谢谢,我熟悉js,jquery和原型,因为我已经完成了大量的前端工作。我几次与AngularJS探讨过,但还没有完全看到它的能力。不过现在,我正在努力把重点放在我最喜欢的后台工具上 - 而且很享受 - 因为似乎这里的大部分工作都要求基于MS的开发。 – krosiris

+0

另一个问题:我应该为这些小型网站使用MVC,还是更适合用剃刀进行操作? – krosiris

+0

我不认为这真的很重要。对于一个小型场地,我认为只是剃须刀(尽管我从未单独使用它)。我的建议是,如果你想学习MVC,那么开始时可能会有点困难,但你会学到更多。 – Kenneth

1

只是我的意见,但是,

  • MVC是适合于小,干净的网站。在类似的基础上,它比典型的ASPX更清洁(因为它周围的状态更少,页面尺寸更小)。快速响应真的取决于您所包含的CSS和JS。首先,关注你真正喜欢的东西,然后看看Angular JS或KnockoutJS的一些想法,以及IoC,依赖注入,测试驱动开发,实体框架和Azure等后端。
  • 只需通过各种Getting StartedMVC ASP.Net上的内容,示例和开发博客,那里有一些有用的信息。
+0

为什么你会说MVC适合“小”站点?在我看来,网站越大,从干净的分隔中获得的收益就越多,更不用说它能够与区域进行分区了。 – Kenneth

+0

我看到很多网站都有.aspx扩展名 - 这是否意味着他们喜欢网页MVC形式吗?你能否提供洞察力,为什么这可能是? – krosiris

+0

他们可能是较旧的网站和/或由一家有多种理由的公司构建,比如网站在任何可用的现代替代产品之前都使用过,现有的团队使用这种方法,没有MVC技巧,等等......实际上,如果你仔细观察,你可能会看到更多的不是以ASPX结尾的sties。 –

0

MVC更适合维护复杂的Web应用程序。如果它是一个简单的网站,我不会用IoC,Mocking来杀死它,Web表单更适合于快速原型和RAD。

+0

谢谢,我开始了解更多,因为我阅读,但我仍然不明白为什么我会使用ASP MVC模式为一个简单的6页网站。如果我正在使用数据库并执行某种类型的CRUD应用程序,我会理解。 – krosiris

+0

当您创建MVC应用程序时,您在Visual Studio中获得的默认模板约为4页,并且非常容易编辑/响应/不显眼。因此,对于6页,您可以非常快速地添加额外内容,因为您不必将所有额外的NuGet内容全部投入(可选),这可能是一种想法,可以减少你的牙齿 - 可以这么说.. :) –