我得到了很短的时间(大约80个小时开始),用一个完整的SQL + Web系统替换现有的Access数据库,我正在列举我的选项。我想使用ASP.NET MVC,但我不知道如何在我的短时间表内有效地使用它。
对于数据库后端,我将使用Linq到SQL,因为它是我已经知道的产品,可以快速地使用它。
有没有人有用这种方式使用ASP.NET MVC的经验,并且可以分享一些见解?
编辑:我之所以对ASP.NET MVC感兴趣是因为我知道(100%确认)在第一轮之后还有更多的工作要做,我希望我的维护工作尽可能简单。根据我的经验,尽管有纪律,Webforms应用程序往往会因为重复维护而崩溃。
也许有个中间路线?对于我来说,用Webforms构建应用程序,当我有更多的时间用于这个项目的时候,将它迁移到MVC会有多难呢?
编辑2:进一步的背景:我正在替换的Access应用程序被建筑中的每个人都以某种身份使用,而且由于它从Access 98升级到2003年,它每天都在崩溃,导致工作效率下降了几个小时,因为自从上次备份之后,人们不得不重新输入数据。这就是时间短的原因--这是一个关键的业务功能,而且他们不能每天重复输入数据。
发布于 2009-12-22 15:26:14
真的没有好的答案。
如果你能在任何“短”的时间内以一种新的格式(web)重新创建一个非平凡的商业应用程序,我会感到非常惊讶(除非你将“短”测量为6个月)。
ASP.NET MVC提供了(放下)任何开始的web项目的最可用的约定。
ASP.NET允许您拖放操作,但对于非平凡的应用程序来说,它严重破坏了维护。
如果是我,我会做三件事:
个人增编:我在web应用程序中同时使用了ASP.NET和ASP.NET MVC。MVC更好。不是更快,而是更好。这让我的网络开发再次变得“有趣”。
发布于 2009-12-22 14:35:37
MVC并不是真正的RAD开发框架。
您将编写比RAD更多的基础结构代码,而不是将数据和数据源拖到.aspx页面上。我喜欢MVC,但是如果你很在行的话,可以使用Webforms。MVC可以更快,但前提是您有预构建的基础设施。
MVC 2通过包括像Model.EditorFor()这样的基于模型的HTML助手来缓解其中的一些问题,但是它还不够好。没有快速的网格代码。传呼?你在翻你自己的传呼机。阿贾克斯?编写您自己的JQuery。
当然,有第三方和开源库可用于所有这些东西,但在我的经验中,把它们放在一起,并确保他们玩的很好也是很费时的。
发布于 2009-12-22 14:47:23
简单的web应用程序+紧凑的时间表= ASP.NET webforms。
复杂的web应用程序+紧凑的时间表= ASP.NET MVC。
我发现,当web应用程序的复杂性线性增加时,webforms应用程序的复杂性呈指数增长。一旦您开始编写您自己的服务器控件(而不是用户控件,因为这些控件仍然相对简单),这对于更复杂的UI来说是必要的,您需要对整个页面生命周期、viewstate是如何工作的以及框架从您那里抽象出来的其他for表单的模糊部分有深入的了解。
MVC虽然要求您对HTML有很好的了解,但在复杂性的尾部做得很好。无论应用程序多么复杂,您仍然在处理控制器中的POCOs和方法。一旦你跨过了最初的障碍,它就会一帆风顺。开发难度的增长速度与网站难度相同。
个人体验:我将一个使用自定义服务器控件的相对复杂的网站转换为ASP.NET MVC,并将代码库减半。我还大幅降低了代码的复杂性。
我唯一要提醒的是,AJAX更容易使用ajax。因此,如果你要开发一个严重依赖ajax的web应用程序,那么webforms可能会击败MVC。
从ASP.NET迁移到MVC并不总是最容易的。您必须从基于代码隐藏的应用程序转移到控制器不知道您的UI的应用程序。而且,MVC在很大程度上依赖于URL来确定用户的意图,而ASP.NET则依赖于事件处理程序。
就我个人而言,如果我觉得一个应用程序注定是MVC的话,我不会浪费时间在ASP.NET上开发它,但这样做的好处是我已经超越了最初的学习曲线。也没那么糟糕。在学习ASP.NET阻止我学习的所有HTML和HTML表单时,我遇到了更多的困难。
https://stackoverflow.com/questions/1946698
复制相似问题