Asp.net MVC: Is it wrong to expect the same (or better) productivity rate from MVC compared to older aspx forms?
I am trying to explain why it's important to use MVC views over Form views within an MVC application. Some of the developers "expedite" work completion by adding form.aspx to the MVC project, technically using MVC but completely avoiding it. I think this is wrong because there isn't a way I know of to do the following things:
- Have a route target an older aspx form
- Have a controller assemble a model and send it to an older aspx form
Is it wrong to expect the same productivity rate from MVC over older aspx forms?
I would think that a developer that knows both ways of development very well, that the time to create the same solution would be the same (or better) with Asp.net MVC.开发者_JAVA百科
Background: We develop website applications used by corporate entities to maintain weekly published data, which could be "yet another customer control panel" to add or change software features about once a month (for each customer, lots of customers, lots of applications, extremely similar patterns).
The time to create an MVC site correctly is in my opinion and experience always going to exceed the time it takes to create one incorrectly. The time advantage to using MVC correctly (or any design pattern for that matter) is not always seen in the initial implementation, it's in the maintainability of the project, whether by the original developer or those who follow. Following good programming practices will result in long term time savings.
In terms of whether a pure MVC project is faster then a pure ASP.net project in terms of time to implement, it seems to me that the expectation could go either way, based on the developers experience, and on the applicability of the project itself to that framework.
I have personally found that for a sizable application that needs much of the 'plumbing' that an MVC app will demand anyway, I am at least as productive with MVC than WebForms.
But there is a learning curve, and a temptation for some 'simple page' to want to just 'throw up' a quick WebForm and be done with it.
I think the biggest gain with MVC, though, is in maintaining the application over time. It should be obvious how much easier it will be to do so with a strict MVC app, than a WebForms one. And adding WebForms into a 'mix' like that just, IMO, makes things even more difficult.
Once you are familiar with the MVC way of development, Its really very useful, scalable & lightweight.
Only initially it takes more time for development compared to Web Forms. But advantages out number the Web Forms.
Just one of its example:
Its best suited for high traffic sites. In web forms control retains there states, we have view state and all.. During the page post back the whole data is sent back and results retrieved (High load on server). Whereas in Asp.Net MVC the controls are stateless. While posting back the Load on server is less.
like this has many more advantages..
And as it is based on Design Pattern its always good for starters. Who does not have much experience in Developing Applications previously.
With WebForms you can get away with using pre-canned solutions for a lot of things (grids, etc.). With MVC you have to roll your own or use a pre-canned javascript solution which can end up taking more time when compared to WebForms.
So to answer your question: it depends
精彩评论