代码之家  ›  专栏  ›  技术社区  ›  Erik Forbes

如何使用ASP.NET MVC进行快速应用程序开发?[关闭]

  •  13
  • Erik Forbes  · 技术社区  · 15 年前

    我有很短的时间(从80个小时开始)用一个完整的SQL+Web系统替换现有的Access数据库,我正在列举我的选项。我想使用ASP.NET MVC,但我不确定如何在我的简短时间表中有效地使用它。

    对于数据库后端,我将使用linq-to-sql,因为它是我已经知道的一个产品,并且可以很快得到一些东西。

    有没有人有过这样使用ASP.NET MVC的经验,并且可以分享一些见解?

    编辑: 我之所以对ASP.NET MVC感兴趣,是因为我知道(100%确认)在第一轮测试之后会有更多的工作要做,我希望我的维护工作尽可能简单。根据我的经验,尽管遵守规则,但是webforms应用程序往往会因重复维护而崩溃。

    也许有一个中间地带?对我来说,用webforms构建应用程序,然后在我有更多的时间预算到该项目时将其迁移到MVC有多困难?

    编辑2: 进一步的背景:我要替换的访问应用程序在某种程度上被大楼中的每个人使用,自从它从Access 98升级到2003之后,每天都会崩溃,导致工作效率损失数小时,因为人们必须重新输入自上次备份以来的数据。这就是时间短的原因——这是一个关键的业务功能,他们负担不起每天重新输入数据的费用。

    10 回复  |  直到 11 年前
        1
  •  8
  •   George Stocker NotMe    15 年前

    真的没有好的答案。

    如果您能在短时间内以新格式(web)重新创建一个非平凡的业务应用程序,我会非常惊讶(除非您将短时间度量为6个月)。

    ASP.NET MVC为任何开始的Web项目提供(手动)最常用的约定。

    ASP.NET允许您拖放以使事情正常运行,但它严重破坏了非平凡应用程序的维护。

    如果是我,我会做三件事:

    1. 问我的老板,他是否希望我在完全不同的平台上重新创建整个业务应用程序。

    2. 告诉他现在可以更快(ASP.NET),以后可以更快(ASP.NET MVC)。

    3. 让他打电话。


    个人附录 :我已将ASP.NET和ASP.NET MVC用于Web应用程序。MVC更好。不是更快,而是更好。它让我的网络开发再次变得“有趣”。

        2
  •  7
  •   George Stocker NotMe    15 年前

    MVC实际上不是一个RAD开发框架。

    比起将数据报和数据源拖到.aspx页面上的RADWebforms替代方案,您将编写更多的基础结构代码。我 爱MVC 但是,如果你在枪下,那就用网络表单吧。MVC可以更快,但前提是您有预构建的基础架构。

    MVC 2通过包括基于模型的HTML帮助器(如 Model.EditorFor() 但还不够好。没有快速网格代码。Paging?你在滚动你自己的传呼机。阿贾克斯?编写自己的jquery。

    当然,所有这些东西都有第三方和开放源码库可供使用,但根据我的经验,把它们放在一起弄脏,确保它们玩得好也很费时。

        3
  •  4
  •   Will    15 年前

    简单Web应用程序+严格计划=ASP.NET Web窗体。

    复杂Web应用程序+严格计划=ASP.NET MVC。

    我发现,随着Web应用程序的复杂性线性增加,Web表单应用程序的复杂性呈指数级增加。一旦您开始编写自己的服务器控件(而不是用户控件,因为这些控件仍然相对简单),这对于更复杂的用户界面来说是必要的,那么您就需要对整个页面生命周期、视图状态如何工作以及框架从您身上抽象出来的WebForms的其他模糊部分有深入的了解。

    MVC虽然要求您熟悉HTML,但它在复杂性的末尾做得很好。不管应用程序有多复杂,您仍然在处理控制器中的poco和方法。一旦你跨过最初的跨栏,它就会平稳地航行。开发难度的增长速度与网站难度相同。

    个人经验:我使用自定义服务器控件将一个相对复杂的网站转换为ASP.NET MVC,并将代码库削减一半。我还大大降低了代码的复杂性。

    唯一需要注意的是,使用ASP.NET Ajax更容易实现Ajax。因此,如果你要开发一个严重依赖Ajax的web应用程序,那么webforms可能会击败mvc。


    从ASP.NET迁移到MVC并不总是最简单的。您必须从基于代码隐藏的应用程序转移到控制器不知道您的UI的应用程序。此外,MVC在很大程度上依赖于URL来确定用户的意图,而ASP.NET则依赖于事件处理程序。

    就个人而言,如果我觉得某个应用程序注定是MVC,我不会浪费时间在ASP.NET中开发它。但是之后,我有了克服最初学习曲线的好处。这也没那么糟糕。我在学习ASP.NET阻止我学习的所有HTML和HTML表单时遇到了更多的困难。

        4
  •  1
  •   Vinicius Paiva    12 年前

    有了这个最后期限,我认为使用ASP.NET WebForm更方便。在时间/预算增加的第一个阶段之后,您可以开始使用MVC开发应用程序的新部分,因为它们可以共存。

    还要了解Ajax和网格代码。在MVC中,它们通常需要更长的时间来开发,但至少对我来说,它们看起来更强大,因为你真的需要知道自己在做什么。

    这个问题是从2009年开始的,如果作者对自己的决定给出一些反馈,那就太好了。

    编辑:查看 http://mvcscaffolding.codeplex.com/ 如果仍然需要使用ASP.NET MVC的RAD。

        5
  •  0
  •   Paddy    15 年前

    一旦使用MVC运行,它就相当快,但需要一段时间a)学习和b)建立一套有用的代码。

    如果您的用户界面不会很复杂,那么可以很容易地设置一个快速数据输入界面。

    如果你的用户界面 真的,真的吗? 很简单,你可能想看看 ASP.net dynamic data.

        6
  •  0
  •   Gabriel Mongeon    15 年前

    您还可以查看要绑定到数据库的实体框架,这将创建要与MVC一起使用的模型。但正如JFAR所说,在临终前短暂的压力下,去做你最了解的事情吧!

        7
  •  0
  •   Shiraz Bhaiji    15 年前

    ASP.NET MVC很好,但是……

    如果您以前没有开发过使用ASP.NET MVC的系统,那么在期限较短的项目上使用它是一种风险。

    如果您的应用程序是一个“简单”的CRUD应用程序,那么我将使用动态数据: http://www.asp.net/dynamicdata/ (帕迪刚刚打败了我)

    如果您的系统真的很大,您可以考虑使用SharePoint Access Services http://blogs.msdn.com/access/archive/2009/10/21/net-developer-blogs-about-access-2010.aspx

        8
  •  0
  •   slashmais    15 年前

    Evolutionary Software Development

    从我为之担保的经验来看——这是我如何编程的,不管技术如何,它都能工作。

    简而言之:做你直觉告诉你的事情(编代码),在发现错误/遗漏时进行修改,当它起作用时,你就完成了(除了文档)。

        9
  •  0
  •   mike adams    15 年前

    另一种选择是使用alpha five v10-- 它最近收到了信息世界的大拇指 退房 http://blog.alphasoftware.com/search/label/Press%20coverage

        10
  •  0
  •   Panos Roditakis    11 年前

    这两个框架在提供解决方案方面都做出了足够的贡献,但是WebForms自动化了一些涉及到UI功能的任务,比如数据分页、排序、状态持久性或自定义数据持久性等等,但是……如果你真的坐下来说,好的,我需要做什么?…设计、导航、建模、呈现,然后找出如何显示布局、如何连接到数据、如何带来数据、如何将它们与UI绑定、如何分页、排序和最终编辑、真正放下思想并在完成所有这些任务的每个框架中比较技术,您将知道MVC更自然,更面向团队。您需要像ef code first这样的工具,一个像bootstrap和jquery这样的CSS框架,应用诸如ioc、soc、分层等技术,并使用例如automapper来执行无聊的stuf,但是无论您需要考虑多少,它总是比必须了解所有的WebForms需要的许多控件和管理器。除非您的项目是一个具有CMS功能的ERP,其中…你知道:- 总之,现代滑雪板需要适应当今的潮流,MVC只是一个很好的主机,帮助您使用它们而不感到惊讶。 我写了大量的webforms代码,但我不会再碰它了。 所以,最后一点是,在2014年,有了所有这些工具和框架,MVC并没有变慢,而是相反,它需要一个初始的、对我来说很小的Efford来收集一些资源并锁定一些方法。