Business decision about mvc vs webforms for Web Based Intranet database systems

I've got a business decision to make, and I need the advice of some experts.  - where better to go?

I've been making web-based intranet database systems since the late 90's.  I started by converting an Access database system to classic ASP.  (c# wasn't even in the picture at the time)

Later, I converted those systems to .Net webforms  - yes, using the evil that nobody uses but me and my 3 developers.

Anyway, I sold a big ERP system to a company called Intellievent and they've been pretty successful with it, but they only have a license for the Event industry.  We still own the copyright and rights to sell to other industries.

Here's the problem:  No matter what industry we target, there's going to have to be a lot of changes.  The first step I'm going to make is to redo all the code in C#, just to make it easier to find staff and increase resale value.  

Now, everybody keeps telling me to convert it to MVC, which is a HUGE change, but I am considering.  So, here's the "thing".  My initial tests with MVC were pretty good.  I can see how easily I could redo the websites, but the CRUD needs seem like they are really a pain in the butt.  We do almost all validation both client-side and server side.  Not having a view-state is a pain, but not overwhelming, but doing all the validation and then CRUD via controllers looks to be a pain in the butt - at least from a webforms->MVC workload point of view.

To me, after a week of MVC testing (it's all new to me), it seems like the "slowness" of webforms is negated by the fact that an intranet has almost no load.  It seems that the time-saved by MVC from an organizational standpoint really isn't much if you've got all your class objects separated anyway.

So, I have about a week before I need to start mapping out the development of our new product.  And I want to make 100% sure that MVC is or is not worth the investment.


Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

Miguel OzConnect With a Mentor Software EngineerCommented:
Tricky decision because  both technologies have their merits and MVC is a great technical solution with a better architecture, proper separation of concerns and it has the more development and updates than Web forms.

Quoting from Dino Esposito article:
Correctly, Microsoft has not positioned ASP.NET MVC as a replacement for ASP.NET Web Forms. Web Forms is definitely a pattern that works for Web applications. At the same time, Ruby-on-Rails has proved that MVC can also be a successful pattern for Web applications; and ASP.NET MVC confirms this.

In the end, Web Forms and ASP.NET MVC have pros, cons, and structural differences that affect various levels. Generalizing, I'd say that Web Forms embraces the RAD philosophy whereas ASP.NET MVC is TDD-oriented. Further, Web Forms goes toward an abstraction of the Web that simulates a stateful environment, while ASP.NET MVC leverages the natural statelessness of the Web and guides you towards building applications that are loosely coupled and inherently testable, search-engine friendly, and with full control of HTML.

Having said that, you need to take into consideration not only the technical aspects but also the business/team aspect.
Q1.Is my team fully trained and comfortable with MVC architecture?
Critical. If the team is not trained and comfortable, you will end up with a half-cooked MVC solution.
Q2. Can I reuse my existing classes?
It depends on current architecture.
Q3. What is my time frame and budget?
Given the fact that your team has just started in MVC you may consider hiring an experienced consultant to help you with the initial architecture. Extra $$ for budget.
Q4. Will my current architecture accommodates for future product growth?
Q5. Do I need to support mobile development?
This one is important but not critical,  one of the multiple alternatives you could use could be Bootstrap. In fact VS2013 use it in their project templates
DanielcmorrisAuthor Commented:
Well...  The "team" is really 3 of us, and only 2 of us are really any good.  Worse yet, we have spent years working on several large projects that are all   Both of us have done "some" c# work, but very little and very rarely.  

So, my funding for this project will be really whether I can afford to spend a few hours a day learning MVC.  I've had horrible experience with "experts" in technologies I don't know, generally because I don't know enough to determine if they actually know what they are doing.   So, I've got to learn it myself first.

As far as classes, I'm going to have to convert a lot of them from VB to C#.  There is a lot I can reuse, and it wouldn't matter what language.
Anyway, deep down I'm pretty sure I'm going to have to stay with WebForms.  The biggest project I have was written in them, and it took me 9 years plus the last 1year with a team of 6 people.   I sold a license to it for the Event Industry, and now I really need to simply modify it to target a different industry.  I'd LOVE to redo it and clean up the mess, but it may just be a pipe dream.

I think I'll just convert the code to C# to make it easier to find help, and leave MVC for the next generation :)
Miguel OzSoftware EngineerCommented:
Please close the question and assign solution.
One last thought, using Web forms does not mean you can not use the latest a greatest of what .NET 4.5 and Javascript/CSS libraries. Regarding conversion to C# take the opportunity to introduce unit testing to your libraries and refactor a bit old constructs - you will be surprise how clean the code will look afterwards.
All Courses

From novice to tech pro — start learning today.