?
Solved

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

Posted on 2015-02-24
3
Medium Priority
?
482 Views
Last Modified: 2016-02-25
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 VB.net 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.

Thanks.

-Dan
0
Comment
Question by:Danielcmorris
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 36

Accepted Solution

by:
Miguel Oz earned 2000 total points
ID: 40629780
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
0
 
LVL 4

Author Comment

by:Danielcmorris
ID: 40631284
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 webforms+vb.net.   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 :)
0
 
LVL 36

Expert Comment

by:Miguel Oz
ID: 40635162
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.
0

Featured Post

Not sure which OpenStack Certification to get?

So you’ve realized you might want to get certified in OpenStack, but you’re not sure what the benefits might be or even which one you should take. You know there are several certification courses you can choose from, but how do you know which one is right for you?

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question