Why ASP.NET MVC?

I love the summaries on InfoQ. Earlier this week I received a presentation by one of the customer’s developers. Basically they used MVC for a spreadsheet type application. The answer to the question “what made you guys decide to use MVC for this applications” was interesting “because we wanted to learn something new, and because it’s cool!”. That’s when my architect alarm bells start ringing. What I’d like to add to the whole ASP.NET MVC discussion are these two questions:

1) Why do you need an MVC in your application?

2) Why is the, compared to other alternatives, ASP.NET MVC the best MVC solution for your application/environment?

14 Comments

  • I agree: Because it's new and cool are not valid reasons to use something :). It needs a technical and/or business drive, not a personal one.

  • I don't agree fully... If they wrote standard ASP.NET apps that aren't really well written/organized, why not try out and see if MVC works out for you? I know it's a risk, but if you're confident you can deliver within the time frame, why not...

    But of course I also truly understand your point of view. That's why I told you the decision to use workflow on some project by you-know-who and deciding it by flipping a coin. ;) And if you have to know, we still haven't used it. We used K2, because WF wasn't that interesting anymore to us! ;) j/k!!!

  • In my opinion the ASP.NET MVC it's very immature.
    During all this years we have been programming with .NET (other like me even with Visual Basic) and one of the great things that we have it's use one and just one integrated language.

    I want to say that programming with .NET it's been very good for me because I believe in the Microsoft in a way to make all the necessary evolutions to the Framework, not like JAVA that don't goes anywhere and there is thousands of small frameworks do to the same work and we don't know what framework we should choose.

    Using ASP.NET MVC we will have to drop all the knowledge created in several years (since .NET beta version for me) using ViewState / Sessions / Page Flows, etc., and replace with JavaScrip. I HATE javascript.

    Now we have to be gurus in .NET Framework (C# in my case) and JavaScript.
    That's because we don't have nice controls (with their events like classic ASP.NET) to use with MVC.

    I use MVC for some years. Model View Controller it's a way to work and to make out code. ASP.NET MVC don't have anything to do with this and it's a hard to use this.

    I hope that something change because ASP.NET MVC it's not what I was expecting.


    Regards
    Paulo Aboim Pinto
    Odivelas - Portugal

  • Apparently because they aren't the one's who pay the bills. Still too early IMHO to use if someone is paying you a salary.

  • Thanks for the comments all.

    No need to raise the defenses :)

    I too understand that developers sometimes should be given the opportunity to try out new technologies. Why not use a low risk real life project to do so.

    Dave’s right. If it is worth the bill you should probably just go for it. Still asking “why” and “with what” questions are a good idea.

  • > 1) Why do you need an MVC in your application?

    It's a way to go, you could also do MVP or opt for the, I don't need no stinking pattern/framework I build my own ;-)

    > 2) Why is the, compared to other alternatives, ASP.NET >MVC the best MVC solution for your >application/environment?

    There you have a point why not use another framework like MonoRails or Maverick.Net.
    Seeing that the latter hasn't had any releases since 2006 I would opt to go for a project with some more community backing. Seeing Microsoft has been a big contributor to MVC.Net and the community is very active...

    Having experienced the development of a webforms applications which have to comply fully to dutch webrichtlijnen I chose to do my new project in MVC.Net.

    With webform you need to hack you way around some things that are basic to HTML (like having multiple form on one page), not all controls in you toolbox are compliant so be sure not to use datagrids, use repeaters instead. ( I could go on ;-) )

    But if you ask me a spreadsheet application sounds to me like a RIA, you have your hands full with MVC.net.

  • Thanks for the addition Hans! Compliancy with web-standards could be a driver to step away from ASP.NET web forms development.

    On the flipside: I expect my supplier to respect web standards and would push, after buying expensive licenses, for standardization in (this context) the web forms environment and stay away from implementing them in-house.

    Still it’s great to see we’ve come a long way since .NET 1.0 and nowadays have several options to choose from. My concern is that we’ll develop as much options as the popular J2EE platform.

  • yes i agree with you because everyone want to do something new and different. so that i think ASP.net MVC solution is the best solution for the environment.
    I also install ASP.net MVC application in my system. so i do something new.

  • Thanks a lot for sharing this with us, it was a really interesting post.

  • I love MVC because there are lots of new applications. In fact, I have lot of fun for being user to of this MVC.

  • MVC is very important to me on the application that I have used for now. I am glad that you have shared this new application.

  • That was really nice questions. Actually, I am also MVC user. It has something special that other doesn’t have. For those who wanted to use this just used it right now.

  • MVC is simply one streamlined methodology to achieve a desired result. The ASP.NET MVC framework gives developers a better way of doing SoC, or Separation of Concerns. By separating the model, view, and controller, you can better isolate, test, and manage the code. SoC enables TDD (Test-driven development) that can help to build better and faster software

  • Great information on your site here. I love this post because we can get some useful information from your blog. I expect more post from you guys. Thanks for sharing it.

Comments have been disabled for this content.