Which platform provides faster development of ASP.NET or MVC web forms?

Is there an obvious performance boost when developing using web forms or MVC?

+6
asp.net-mvc webforms
source share
12 answers

When you are dealing with the performance of ASP.NET MVC and ASP.NET Web Forms, consider these two developers.

  • Generic.NET Developer , who has extensive experience writing WinForms and WebForms applications.
  • A general web application developer who can write C # code but knows HTML, CSS and jQuery / MooTools / etc, as well as the back of their hand.

Generic.NET Developer will be most effective at writing code in ASP.NET source web forms . This is because they are well aware of event models (since they are mirrored between WinForms and WebForms) and will be able to quickly create a website using this mental model.

  • MVC will have a large learning curve because it is a complete departure from his existing knowledge of “How the Internet Works”. These are the stumbling blocks that this developer will find in MVC:
    • You need to learn HTML and CSS to such an extent that they understand what is happening and how things interact with each other.
    • Learning javascript and how to call back to server for ajax.
    • Find out how to maintain state, cookie detection is unsafe and that the session has certain "gotchas".

Generic Web Application Developer will be most effective in ASP.NET MVC because the structure reflects how they think about web applications - no events, no application state, etc. They already know how to write good HTML and style it with CSS, they know how to write ajax callback to the server.

  • Web forms are not a good model for this developer, because this is a departure from his existing knowledge of "How the Internet Works." These are the stumbling blocks that this developer will find in ASP.NET Web Forms:
    • You need to spend time figuring out how the page life cycle works.
    • ViewState will cause a lot of problems causing page inflation.
    • For HackRequest hackers, you will usually need to fix all the bad code that comes out of certain WebForm controls.
    • Learning how to handle AJAX callbacks, rather than just using your existing knowledge of how to call a URL from jQuery.

My main point is that different developers will have different levels of performance based on their previous experience with web development. I personally prefer ASP.NET MVC, I can build something very quickly and get it exactly what I intend.

I am developer # 2, I have written web applications (most of them small) in Ruby on Rails, Django, ASP.NET Web Forms and ASP.NET MVC. The knowledge of web development between these three structures is almost interchangeable (except for the need to know the hosting language - ruby ​​vs. python vs. C #).

The most unpleasant thing that I find in ASP.NET Web Forms is that it tries to do too many things for the developer (for example, application state, web events), the code output often does not work very well with web standards. Web Forms 2.0 are tied directly to XHTML 1.0 Transitional. Anything outside the fast and dirty rows of DataGrid and Form for CRUD in a database usually causes pain and suffering compared to writing in ASP.NET MVC.

+9
source share

Not. Personally, I find that MVC works much more like my brain with a fairly clear separation of what happens where and why. I hit the full prototype commercial site with MVC in a few weeks, which would take me, I'm sure, at least twice as much as using web forms.

+7
source share

With MVC, you never waste time trying to understand why ItemDataBound and ItemCommand do not fire when you expect them.

If you think this will save you time, MVC is probably for you.

+7
source share

WebForms is more mature at the moment. For example, I want validation (client and server side) to have better support in MVC. However, I fully expect that this will improve over time. The best thing about MVC from my point of view is that MVC makes my code much more verifiable. I left a lot of code unchecked with WebForms simply because it was too hard to check the code. Now I can write unit tests for all of my controller logic.

Even if in the end it turns out that MVC is somewhat slower (and I guess it won't), the increased test ability will be worth it. In the end, I will play this time, since it will return less and fix bugs, unverified code later.

+5
source share

I find MVC much more natural for web development. As the previous poster noted, you will undoubtedly save time by not dealing with strange errors caused by the life cycle of a web form page.

In addition, the ability to write unit tests for your logic is much faster (and with much less dependency on mocks!) Is a big advantage.

Finally, I found that using the MVC environment is much easier to write css and client script, since you can specify your own identifiers in HTML elements.

+3
source share

When I hear the term "rapid development," I find that people usually use it in the context of "how quickly can I develop a new solution." There are many factors to consider before you can build a reasonable answer.

  • How familiar are the developers with the framework?
  • How comprehensive is the design?
  • How complex are the requirements?
  • How stable is the structure?

I first contacted ASP.NET MVC shortly before release 1.0. Before that, I was very familiar with ASP.NET WebForms, but I was still disappointed with the development process as a whole. I knew about the goals associated with sharing problems, and I knew enough that clear separation is not possible with WebForms without floating against the current infrastructure created.

Starting with ASP.NET MVC, I found very quickly that I was missing a boat for several things. While WebForms allows you to create things “faster,” you basically hold hostages by implementing Microsoft, rather than letting you more easily digest established standards (such as JavaScript, CSS, and AJAX) in environments that don’t have Microsoft. In addition, the creation of new tools, behavior and functionality should not be motivated by sales and profits, but because the technological requirements of the developer community require this. I have been working on this current MVC project since April. I really enjoy working with this card, and I recommend it to anyone and anyone who wants to get away from WebForms. Learning the framework takes a little time, but as soon as you understand this, you literally wonder why you couldn’t do this from the very beginning.

You can create applications faster with WebForms, but if you need professional websites, you will have to invest in component libraries that will still require you to study these established standards in order to use them effectively. If my 11-year-old son expressed interest in learning web development tomorrow, given the choice of WebForms or MVC, my choice would be MVC. However, I would still direct him to learning JavaScript, jQuery, and AJAX before he even touched on MVC, because understanding these frameworks greatly facilitates understanding of almost any other.

Personally, I am not a supporter of "rapid development." I spent a career as a corporate developer and saw internal development as an investment. I would prefer to spend 20% more time developing and developing, instead of reducing the project by 20% just to achieve an unrealistic deadline. Each dollar "saved" during the initial development will cost you at least $ 1.50 due to maintenance costs, retraining and architectural changes due to new requirements. But not everyone thinks the way I do, so ... my simple answer would be MVC.

+3
source share

I think that in the end, MVC will be a clear winner for web developers. However, ASP.Net will retain a very important role, because there will always be .NET guys who consider themselves web developers who really are .NET winform. ASP.NET sans MVC lets you put things together very quickly, but you can easily get awful, awful, wicked HTML, CSS, and javascript. MVC opens the door to greatness, but developers require a more disciplined approach.

+1
source share

When it comes to the first 90% of development, WebForms is a clear winner. This is what the last 10% of that problem is and where MVC has the edge.

0
source share

It is very strange why so many people think that it is impossible to get pure HTML code in Web Froms, use jquery (and jquery ajax), write css (?). So you can always drag and drop controls from the toolbar, in fact you can write in the same way as in MVC.

The page life cycle of Webforms, viewstate, data binding, updated panels also take time to find out if you want to write good code. Most people don't seem to waste time on this, so they say WebForms is "not very good."

While I'm a mature Web Froms developer, I'm trying to learn MVC (just for fun), and it's good enough to write complex websites. But, as I see now, the main problem with MVC is that you need to write a lot of code, really a lot !!!

0
source share

I use ASP.NET since the first beta was released at the Orlando Professional Developers Conference in 2000. Obviously, I’m much more comfortable using WebForms because I started with it. Most objections to WebForms can be overcome with smart development mechanisms. But while WebForms provides an infrastructure for RAD on the Internet, I also like MVC. MVC is still ripening, and I'm sure it will get even better. The bottom line is where you are at the development learning stage, and what you have. You must do it for yourself. If you are a beginner, you have the opportunity to explore both.

0
source share

It depends on how you develop.

If you are the one to drag controls onto the surface of the constructor, it would probably be difficult to match this level of rapid development with MVC.

On the other hand, if you spend most of your time in the original view, you will probably find that MVC allows you to do this more efficiently.

Casting AJAX into the image, if you are someone who relies on UpdatePanel, MVC is likely to be unbearably miserable for you.

(This does not begin to affect the subjective problem, which type of development is more “correct.” I do not think the point of this question, though.)

-one
source share

WOW I've been using ASP.NET controls for almost 5 years, and now I hear about this new kid on the block - MVC

I think MVC was created for PHP developers to cross them. I see no other reason for this. But, I do not know MVC, so do not listen to me. I just think.

I pretty quickly use ASP.NET ASP.NET forms and data bindings. When I am an MVC coachman, I will come back and make a comment

-5
source share

All Articles