I just got a question to answer in a forum Post– What is the difference between ASP.NET and ASP.NET Core, and what should I choose to build my next Web application?
Another question, I saw was: Should I choose ASP.NET Core over ASP.NET in my next project?
On reading this article you will be able to know some of the pros and cons that might get you closer in deciding between ASP.NET and ASP.NET Core.
.NET Architecture
Let’s review the following .NET Architecture diagram.
As you can see from the above diagram, the .NET ecosystem has three major high-level components: .NET Framework, .NET Core, and Xamarin.
The .NET Framework is used to develop Windows applications using WPF and Windows Forms and Web applications, using ASP.NET MVC.
.NET Core supports UWP and ASP.NET Core libraries. Windows 10 targeted apps are build using UWP and ASP.NET Core is used to build Web apps for Windows, Linux, and Mac operating systems.
Choosing between ASP.NET MVC and ASP.NET Core
ASP.NET Core is one of the key components of .NET Core to build Web applications, using ASP.NET.
In an article Should I Use ASP.NET Core or MVC 5, Jeff Fritz from Microsoft writes:
“Both frameworks will still be supported in at least 4 years. Both frameworks have an MVC approach to coding and both use a very similar Razor templating language.”
The following table is a list of key takeaways from Jeff’s article:
Feature | ASP.NET MVC or ASP.NET Core |
Stable framework | ASP.NET MVC |
Raw performance | ASP.NET Core |
Tested and proven for a decade | ASP.NET MVC |
Leading edge, continuous learning, and upgrades | ASP.NET Core |
Target multiple operating systems | ASP.NET Core |
Windows container model support | Both |
Share components across various platforms – Web server, Mac, iOS, Android, XBox, Windows Mobile, Windows desktop, Unity | .NET Standard with either. |
Students vs Professional Developers
For professional developers, if you’re building a new website and you have to make a choice today, here are some scenarios.
ASP.NET Core is a better choice, if you -
- Want to target your Web app on Windows, Linux, and Mac operating systems.
- Aren’t afraid of learning new things.
- Aren’t afraid of breaking and fixing codes since ASP.NET Core is not fully matured yet.
ASP.NET MVC is a better choice if you -
· Don’t need a cross-platform support for your Web app.
· Need a stable environment to work in.
· Have nearer release schedules.
· Are working on an existing app and extending its functionality?
· Already have an existing team with ASP.NET expertise.
For students, if you’re just learning and have no plans to join a company for the next year or so, ASP.NET Core is a better choice for you. It will give you more options to choose from in the near future.
Porting ASP.NET MVC to ASP.NET Core
The following document lists the process and tools of migrating your existing ASP.NET MVC project to ASP.NET Core.
https://docs.microsoft.com/en-us/dotnet/articles/core/porting/index
Sushant Mishra
18-Jun-2017It was really helpful to read this post.
Your blog always have updated content.