You Have Choices
That is what a web developer in 2016 has. Gone are the days of a handful of platforms in which to build a web application. There are so many technologies to choose from in the market today. From the plethora of open source tools to the massive sandboxes provided by pay-per-use tools the options are endless. Being a web developer in 2016 is great because you get to learn a lot of different technologies and expand your horizons on a regular basis. Where does Microsoft
.NET MVC or
Webforms fit in this new world?
Planning web applications, however, has never been more difficult. Business decisions must be weighed against many different platforms, and more and more often there isn't one go-to solution for all needs. Back in the toddler days of web development a company could simply load up a Webforms application and start firing away. Now, serious questions about team size, proficiency, and speed must be asked. What Webforms offered before was RAD (rapid application development), giving a small number of people a lot of potential power to develop web applications. Then, MVC came along and shattered all of that with its modular design for web development (really application dev in general). I am sure you if you are reading this, then this is nothing new to you. So how you ask, which one is better?
Which One is Better?
Better. That word is so finite. Declaring something
better can be used as a fact like, Hybrids get
better gas mileage than traditional combustion engines, which is a fact, and it is true. But stating vanilla ice cream is better than chocolate is an opinion. That is the trap that as web dev's, we can fall into very easily. Individuals and Web development companies alike are always looking for what is
better. This situation is where I urge caution; better here is relative. I always use the analogy of a tool box. A hammer is better than a screwdriver at nailing something together. We need to be picking the
best tool for the job not looking for a
better tool in general.
Back to MVC or Webforms
The nice thing about the Microsoft languages is that they are very malleable. Both MVC and Webforms have been around for some time and been able to stay competitive because of their flexibility. As of 2016, Microsoft realized the need to go open source, and they are doing that with ASP.NET. The platform has moved into the open-source world now and is free to all. This move, in my opinion, is great. Microsoft is giving this powerful engine to the people to improve it. Once again Microsoft has bent and molded their platforms to the will of the future.
Webforms is Dead?
A lot of developers I meet think Webforms is a dead, old technology that should be avoided. This view is just wrong. Webforms is still very much alive and well. There are many companies still using Webforms, people building NuGet packages for Webforms, and web dev's using it as a go-to when developing a web application. Webforms is still a powerful tool and one that I enjoy working in. When you look at a typical Webforms application setup, it just makes sense. It is easy to navigate and develop. That is where the RAD comes in.
MVC is also putting on some age as the new SPA (single page application) and jMVC (JavaScript MVC) tools make their way to the market. MVC, however, is still a viable tool as well. It allows for large groups to contribute to the same project without stepping all over each other's feet. It is perfect for breaking your applications down into manageable and assignable pieces. What you lose with MVC is RAD. It takes a lot more time to get an MVC application up and running. However, whatever time you may lose in the beginning you usually make up for during maintenance. As the pieces move more independently of each other than a typical Webforms application.
Ask the Right Questions
The remarkable thing about both technologies is that they play really well with all the different client-side tools being released today, think Angular. So now the question, which one is better? Neither. They are both good when being used correctly. If I were a decision maker in a company, I would not select either because I thought one was better than another. The right thing would be to ask myself and my staff or development partner, which one is better for us, for this project?
This approach will offer more insight than just trying to follow the flow of other companies. Webforms is generally better for smaller companies that need to get applications to market fast. MVC is great for large teams of people where the work can be spread around to people with different specializations. What I want to stress however is both .NET MVC and Webforms are still very much alive and part of the Internet DNA.