At Trailhead, we’ve recently been noticing an increase in a couple of questions from our clients. They are:
1. Is Web Forms dead?, and
2. Is ASP.NET still a good framework to use to build a new application?
First off, there is some confusion about the difference between ASP.NET and Web Forms. They are not the same thing. Far from it! Web Forms is just one (and the oldest) framework for building applications in ASP.NET. Things like Web API, SignalR, and MVC are all more modern ASP.NET frameworks. ASP.NET is the general umbrella for all .NET web development technologies.
Web technology has been evolving at an ever-quickening pace in recent years, and with so many companies supporting legacy Web Forms applications, it should come as no surprise that these questions are coming up more frequently right now.
Below I’ve addressed both of these important questions with the advice we’ve been giving our own customers. Hopefully it is useful advice for you, too.
TL;DR
1. Is Web Forms dead?
No…and maybe yes. Check out my longer answer below for an explanation.
2. Is ASP.NET still a good framework to use to build a new application?
Yes! In fact, now is probably the most exciting time in the history of ASP.NET since it was first released 16 years ago.
The Longer Answers
1. Is Web Forms dead?
No. And yes. It’s complicated. Let me explain…
Microsoft included 3 new features in Web Forms in the July 2015 release of .NET Framework 4.6. So clearly, they still intend to support it and even add to it on occasion. It’s a mature framework, so it’s to be expected that the updates wouldn’t be as large and significant as they were in the early days. But, at the same time, 4 versions of .NET Framework have been released since then (4.6.1 – 4.7.1) without any new features specifically for Web Forms. Instead, the energy has been largely behind ASP.NET Core, MVC, and Web API. It seems fairly clear to me that those are where the excitement is in ASP.NET now.
If I had to predict, I’d say that ASP.NET Web Forms will stay largely what it is today and be supported by the .NET Framework for at least several major future releases. However, it should be noted that the .NET Framework is also gradually be eclipsed by .NET Core, the cross-platform, rewritten version of .NET. So, even from that perspective, it looks like Web Forms could be waning.
When you think about building a new application or updating an existing one into a more modern technology, it’s usually a good idea to jump in fairly close to the cutting edge. Technology moves so fast these days that jumping in very far back will often result in earlier obsolescence. For that reason, we recommend that our customer create their new applications in ASP.NET Core.
You also have to think about how you will support a new software application. Typically, this involves an internal team of developers–developers who want to work on the latest technologies, and because they have been in short supply these last couple of decades, require a certain amount of wooing to attract and retain the best ones.
In summary, we recommend that our customers create new projects in ASP.NET Core. For those with existing Web Forms applications, we recommend that they have a plan in place for upgrading them. For larger applications, that might take some time, but it’s good to have the plan in place now. For some companies, they’ll have the budget to do the work all at once. Others may need to move it over a little bit at a time. Either way, though, Trailhead can help.
2. Is ASP.NET still a good framework to use to build a new application?
In short: YES!
A few years ago, with the advent of modern JavaScript frameworks, it started seeming like ASP.NET (and other server-side web technologies) would be quickly decreasing in importance. In some ways, that prediction has come true, and a lot of the UI and workflow in a modern web application is written in JavaScript. But, in other ways, the server-side technologies have become even more important as both an initial delivery method for the client application and as its service, security, and data-access layer.
Over roughly that same time period, the ASP.NET and .NET teams have gone through a real renaissance, as has much of Microsoft in general. The .NET team created .NET Core, a complete cross-platform rewrite of the .NET Framework that runs equally well on Windows, MacOS, and Linux. The ASP.NET team rewrote the ASP.NET stack from scratch, too, and gave us ASP.NET Core. It’s been completely decoupled from IIS and Windows, so you can now run ASP.NET on Linux, MacOS, and Windows, with the web server of your choice–not just IIS. The performance has also been significantly improved from past versions.
Not only is there a lot of excitement and innovation going on in ASP.NET right now, but their is a large existing community of developers and companies using it, too. In the US, BuiltWith.com estimates that some 50% of all .COM sites are built with some version of ASP.NET.
Developers love it, too. C#, the language that ASP.NET applications are typically written in, is a top 4 technology in StackOverflow’s annual developer survey, indicating its continued popularity with them.
Finally, there’s been a lot going on recently with .NET tooling. Of course, Visual Studio is the Cadillac of IDEs, and it is probably the most rich development tool for any platform. It comes is several different SKUs, one of which is free. But, if you’re looking for something a little more stream-lined, Microsoft also has the free Visual Studio Code, a lovely little cross-platform and light-weight editor with great plugin support for adding functionality. Finally, our friends at JetBrains, makers of the famed Resharper plugin, have recently announced their very own cross-platform .NET IDE: Rider.
In short, there are a lot of exciting things happen in ASP.NET right now. Perhaps uniquely in the industry right now, it has the support, excitement, high performance, industry-leading tooling, and community of developers that you will need to build and staff your cutting-edge web projects.
At Trailhead, we’re using ASP.NET Core extensively in new projects, and we love it! We’d love to help your team get started with it, too.
Trailhead Can Help
If you’ve read this blog post and have a better understanding of the future of ASP.NET and Web Forms, but still need some help with the specific technology details, you’ve come to the right place. Trailhead’s knowledge of Microsoft’s development technologies is both wide and deep, and our long experience over their history gives us a unique perspective. We can understand your legacy code AND help you upgrade it to something modern. We’ve helped many clients with this exact same transition, and we can help you, too!
There are different depths of update we would recommend based on your goals and budgets. For example, on the less expensive side, we might simply re-style your application to make it look nicer. However, we often find that Web Forms applications are written with all their different layers mingled together, and to truly get them ready for the future, they often need to be heavily rewritten . Usually this means reusing the database layer and sometimes some chunks of business logic.
There are also different approaches you could take, and of course each client, project, and situation is a little different, but perhaps your project would fit into one of these three typical approaches below:
- The teach-me approach – Maybe you already have an internal team that has been clamoring to learn something new and update your legacy applications. If that’s the case, we can help them get up-to-speed on all the latest technologies by sitting together and showing them everything they’ll need to know to build a beautiful, modern version of your software.
- The do-it-for-me approach – If you don’t have an internal team, or if they’re too busy or inexperienced to do the work, Trailhead can do it all for you. We have a top-notch team that can handle everything–making those difficult CTO-level decisions, designing the software architecture, setting up your cloud hosting, creating your DevOps pipeline, the actual programming work, and of course the testing.
- The hybrid approach – Most likely you’re somewhere in between the extremes of #1 and #2 above. We can tailor our involvement to your needs, company, team, and situation.