Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C#

Leonard Isaksson
Leonard Isaksson
4,598 Points

Should I learn ASP.NET MVC or ASP.NET CORE?

Hello

I can't decide if I should learn asp.net mvc or asp.net core and is asp.net mvc considered outdated due to new release of asp.net core

2 Answers

Steven Parker
Steven Parker
229,608 Points

What you learn about ASP.NET MVC should apply to .NET Core MVC.

You may be thinking of .NET Framework as the more-established alternative to .NET Core. Neither is outdated, and there are reasons you might choose one over the other.

Some reasons you might choose .NET Core:

  • You have cross-platform needs.
  • You are targeting microservices.
  • You are using Docker containers.
  • You need high performance and scalable systems.
  • You need side by side of .NET versions by application.

And some reasons you might choose .NET Framework:

  • Your application currently uses .NET Framework (the official recommendation is to extend instead of migrate)
  • You need to use third-party .NET libraries or NuGet packages not available for .NET Core.
  • You need to use .NET technologies that are not available for .NET Core.
  • You need to use a platform that doesn’t support .NET Core.
James Churchill
STAFF
James Churchill
Treehouse Teacher

Leonard,

I agree with everything that Steven notes above... and I'll add some of my own thoughts :)

Because of its relative "newness", ASP.NET Core is receiving a lot of attention these days. And that's great, because ASP.NET Core is a great technology and something that was sorely needed. That being said, if you're looking for a junior level developer position, learning ASP.NET MVC isn't a waste of time.

The previous versions of ASP.NET MVC were quite popular amongst Microsoft developers. Because of that there is a tremendous amount of "legacy" code that uses ASP.NET MVC. Some of those projects will be migrated to ASP.NET Core, but some will never be migrated.

Developers who have experience with ASP.NET MVC will be in demand for quite some time still because those legacy apps will need to be maintained. And for those apps that will be migrated to ASP.NET Core, someone with experience with both technologies will need to be part of or oversee those efforts.

Even though ASP.NET Core is a complete rewrite of ASP.NET, there is still a fair amount of overlap with ASP.NET MVC. For instance, controllers and views between the two technologies are very similar. Routing, model binding, validation, filters, and more are also very similar or unchanged.

That's not to suggest that there aren't any differences; there are. ASP.NET Core's middleware request pipeline and Tag Helpers are obvious examples of new features that can have a dramatic impact on how you develop ASP.NET apps. But if you're an expert ASP.NET MVC developer, you'll learn (and appreciate) these new features quickly. In fact, if you're like me, you'll probably even have fun discovering what's new.

I hope this helps.

Thanks, James