How can I do rapid application development with ASP.NET MVC?

Erik Forbes picture Erik Forbes · Dec 22, 2009 · Viewed 16.7k times · Source

I've been given a short amount of time (~80 hours to start with) to replace an existing Access database with a full-blown SQL + Web system, and I'm enumerating my options. I would like to use ASP.NET MVC, but I'm unsure of how to use it effectively with my short timetable.

For the database backend I'll be using Linq to SQL as it's a product I already know and can get something working with it quickly.

Does anyone have any experience with using ASP.NET MVC in this way and can share some insight?

Edit: The reason I've been interested in ASP.NET MVC is because I know (100% confirmed) that there will be more work to do after this first round, and I'd like my maintenance work to be as easy as possible. In my experience Webforms applications tend to break down over repeated maintenance, despite discipline.

Maybe there's a middle ground? How difficult would it to be for me to, say, build the app with Webforms, then migrate it to MVC later when I have more time budgeted to the project?

Edit 2: Further background: the Access application I'm replacing is used in some capacity by everyone in the building, and since it was upgraded from Access 98 to 2003 it's been crashing daily, causing hours of lost productivity as people have to re-enter data since the last backup. This is the reason for the short amount of time - this is a critical business function, and they can't afford to keep re-entering data on a daily basis.

Answer

George Stocker picture George Stocker · Dec 22, 2009

There really are no good answers.

I'd be very surprised if you could recreate a non-trivial business application in a new format (web) in any 'short' amount of time (unless you measure 'short' to be 6 months).

ASP.NET MVC provides (hands down) the most convention available with any beginning web project.

ASP.NET lets you drag-and-drop to get things working, but it breaks maintenance horribly for non-trivial applications.

If it were me, I'd do three things:

  1. Ask my boss if he wants me to recreate an entire business application across a completely different platform.

  2. Tell him he can either have it more quickly now (ASP.NET), or more quickly later (ASP.NET MVC).

  3. Let him make the call.


Personal Addendum: I've used both ASP.NET and ASP.NET MVC for web applications. MVC is just better. Not faster, but better. It made web development 'fun' again for me.