What are the differences between ASP.NET MVC and ASP.NET WebForms?

April 22nd, 2015

Since 2002, Web Forms was always the method for developing Microsoft Web Applicatons...until MVC came along. Today, I talk about the differences between Web Forms and MVC.

Before ASP.NET, I was using Classic ASP and using Delphi 2/3 to build ISAPI dynamically linked libraries, or DLLs. The searching capability on the companies web site was my first achievement in the corporate world using a custom ISAPI library.

Then, along came ASP.NET in 2002 and changed the landscape. C# was relatively new and Visual Basic developers started the transition of moving from Visual Basic to VB.NET and experiencing a compiled state of web development. Some stayed with VB 6 (no comment).

That's when Web Forms were introduced with ASP.NET.

Ever since that day, I still have issues with Web Forms and it's quirky-ness. Always having to check and make sure you include an IsPostBack as the first line in your Page_Load, understanding how to keep your bloated ViewState variable under control, minimizing the payload back to the client without using too many web controls, and so on and so on and so on.

The web development process didn't feel natural to me.

Flash forward to 5 years later (2007), ASP.NET MVC CTP was introduced.

Again, the landscape changed.

Not only did it change, but it moved more towards a standard way of development.

Some developers screamed that ASP.NET MVC was a step backwards and that we were moving back to the Classic ASP days again, but in my eyes, it was absolutely the right step for Microsoft.

It felt like a natural web development process once again.

For a new developer to experience the web through the eyes of Microsoft, I would absolutely recommend ASP.NET MVC. But since 2002, there are thousands, if not millions, of Web Form applications out there that have a legacy. Some of the Web Forms coding is...let's just say...different.

Terminology

Before we proceed to talk about the differences between WebForms and MVC, we need to know the difference between certain terms on the Microsoft stack of technologies. In the past, I've heard a couple of developers mixing and matching certain terms that weren't related to each other at all.

With that cleared up, let's go over the differences between ASP.NET Web Forms and MVC.

Differences Between ASP.NET Web Forms and ASP.NET MVC

Even though these technologies have been around for 5+ years, they each have their advantages and disadvantages.

Conclusion

After experiencing both technologies in a ten-year period, I am very thankful that ASP.NET MVC arrived when it did. I immediately snatched it up to experience a smoother way to develop.

As I said before, it was more natural. It "feels" like the web now. POST, GET, DELETE, Redirect.

With vNext arriving soon, there are a couple of items that some developers may want to pay particular attention to in this post by Stephen Walther about the Top 10 Changes In ASP.NET 5 and MVC 6.

The two that stand out to me are No More Web Forms and No More Visual Basic.

It's what I consider a move towards standards instead of using proprietary technology.

You can't make standards without a "stand."

Did I miss something in my differences between Web Forms and MVC? Post a comment below.