我被赋予了设计基于网络的新交易系统架构的任务。
我看到Scott Gu对于推出MVC版本的任务非常热门,但是我看到它们越多,我对Classic ASP的看法就越少。
由于经典ASP程序员的可用性,我正在考虑使用它而不是向程序员支付高价,然后需要提升。业务用户只需要html输出,他们都这样做(Classic ASP没有Script Manager有效负载,JQuery与classic集成。)
其他人是否面临这一决定,以及对利弊的任何想法? 感谢
答案 0 :(得分:8)
老实说,如果你把Classic ASP和MVC视为类似的野兽,我会说更多关于ASP.NET MVC的知识。我想两个人都有<% %>
......我不会错过VB6,MTS和regsvr32。
如果业务仅涉及html输出,许多其他平台也满足此要求。为什么不用PHP,cgi,Rails或Django?
与现代技术相比,Classic ASP要求痛苦。
答案 1 :(得分:2)
Classic不会在业务逻辑和表示标记之间提供相同级别的分离,从而导致更加丑陋且维护不便的站点。 如果你正在创建一个非常简单的站点,那么经典可能是合理的,因为不必包括MVC的开销(无论如何都相当小),但是小站点习惯于变异到更大的站点。 任何一半体面的开发者都会在很短的时间内掌握MVC,坦率地说,他们应该跟上新的趋势。
答案 2 :(得分:2)
假设你的意思是10年前的“经典ASP”......
我关注的是您对资源可用性的评论。我想你会发现,离开学校的新开发者实际上并不了解经典ASP,他们也会了解ASP.NET WebForms甚至是MVC。学校专注于dotNet,所以ASP.NET和MVC。
我认为你会发现ASP.NET仍然拥有最多的开发人员。 MVC开始迎头赶上,但仍然没有完全赶上,我不确定它是否是学校的主流。
当然还有设计决策背后使用哪种技术,例如可维护性。尽管如此,所有这些讨论的技术都有很长一段时间用于生产质量系统的历史。所以他们都是有效的选择。
答案 3 :(得分:1)
MVC与ASP Classic需要考虑的一些事项:
Visual Studio - 这是让经典ASP落后的最重要原因之一。我给那些我讨厌的人提供经典的asp维护项目:) Intellisense真正加快了编码速度。
.NET - CLR编译的代码运行得更快。
社区支持 - 此网站标记的classic-asp
个问题很少。大多数人都继续前进,如果遇到问题,他们可能很难解决。
关注点分离 - 可以将经典的asp业务逻辑分开。但它会很难看。单元测试也会很痛苦。 .NET有许多模式可以帮助您使用现代编程技术。
然而......如果:
然后我可能会在经典asp之前开始考虑其他选择。如果你想留下MS,可以使用Ruby,Php,Java,Django或Silverlight。
答案 4 :(得分:1)
给每个人+1,因为没有把这个线程(还有!!)变成一个懒散的比赛:-)。如前所述,如果不检查实际概念,主要的相似之处就是<% %>
标签。你应该真的在你的机器上进行设置并运行一些基本的说明性样本,以满足自己的相似性或其他一旦你开始。
如上所述,我来自vb6 / com背景和我的'经典'asp网站(当时主要是内网 - 8-10年前)我使用了com类和数据层。当asp.net(v1.0)到达时,我对这些好处持怀疑态度,并且在我开始投入之前大约一年左右。一旦我的脚在webfroms世界中湿透了,我很高兴能够将我对类和BLL / DAL层的概念性理解“移植”到c#的框架上。我的关键时刻是marco bellasco的asp.net 2.0书籍“啤酒屋”的出版。这使我在项目中瞄准的一切都很糟糕(很糟糕)。快到5年,同样的顿悟时刻与史蒂文桑德森的书以及强制性的'书呆子晚餐'系列一起到了。我是一个完全转换为mvc(并在使用joomla的php时尚后使用它)。在这里,我能够利用我学到的所有好东西重新BLL / DAL(仅在这种情况下,DAL现在是一个存储库层,而BLL是模型)。
简而言之,这是一个非常个人化的决定。我可以说的是,在生产环境中参与了上述所有技术,对我来说,MVC确实是最具生产力和概念性的,最容易掌握的(可能部分归因于我的“路径”)。
你自己的里程(或千万美元:)当然可能会有所不同 - 但简而言之,请阅读利弊,但最终贬低并肮脏,一旦你发现了'美女',就与社区分享你的愧疚mvc'ing ...
祝你好运jim
答案 5 :(得分:0)
我为你感到兴奋Asp .Net 4是一个更好的选择。除非项目相当大并且是面向公众的站点,否则我认为不需要Asp .Net MVC。与Asp .Net 4相比,构建Asp .Net MVC团队是一项艰巨的任务。
答案 6 :(得分:0)
看看工具支持 - ASP.net MVC已经完全符合VS 2010,但ASP经典支持不如恒星。您还应该花时间编写代码 - 如果您的程序员速度快,并且您需要一些简单的数据输入页面,您可以在不到一天的时间内将实体框架DAL和一些简单的脚手架页面放在一起...
现在,我知道很少有这么简单的系统,但我认为从这个起点开始工作非常容易,包括简单地将AJAX回调包含到控制器动作,返回JSON等。
(我还没有遇到一个没有转向意大利面条的大型“经典”ASP网站。)
答案 7 :(得分:0)
我会选择.net mvc(通过webforms和经典asp),特别是因为你声明要建立一个交易系统。这表明您的站点不仅仅是简单的内容(读取需要数据库)。这有一些含义:
有趣的是,你说你可以找到经典的asp程序员。我认识和工作的大多数人都试着像瘟疫那样避免它,但我在澳大利亚:)。
虽然你可以使用这些技术中的任何一种并且仍能获得成功的结果,但关键是要获得优秀的开发人员,即使他们没有.net mvc的大量经验。
答案 8 :(得分:0)