Sunday, May 27, 2012

MVC for asp.net web form developer

For asp.net web form deveoper, when starting work with MVC, you may need to know few key points.

1. MVC does not have the rich UI controls available on web form
Reading any MVC books, you will be supprised none of them talking much about ui controls. So how can you put the treeview, or gridview control to your web page? The answer is MVC is an open framework, it is created to to incooperate the new web technology easily, like HTML5, jquery, etc, so it cannot define the ui control's mark up as web form does. So by design, it depends you to select and use any ui markup you get, and for now the answer is jquery ui, or other third party jquery ui extension.

2. MVC does not associate request/response to a backend individual.
Unlike web form, each client request or response is assocated to a backend aspx file, MVC lets you associate a backend method in controller class to each client request and response, this allows to incooperate the partial page render, and other ajax features easily. This is much better than web form, and it is key improment in MVC.

3. MVC dependency: javascript, jquery, CSS, ajax
Unlike what you heard from most MS experts, or MVC books, MVC does not depend on lambada expression, Linq or Entity Framework. In my opinion, you better avoid those topic when first learning MVC, as they have nothing to do with the key points of MVC. The really dependency of MVC are jquery, CSS and ajax. As they are the necessary elements to make a good MVC project.

In addition, I did not see much value in using Entity Framework, or Workflow Framework in your project, it allow you do certain things more easy, but on the other hand, you lose the fine control of the project due to those generated code. It has the same issue as the generated typed Dataset in ADO.NET. I would rather to spend a little more time and know exactly which line of code is doing what, than save some time but having a bunch of files doing things magically without I know the details. There are too many genius in Microsoft, but not enough commonsense.

No comments:

Post a Comment