Tuesday, November 28, 2017

Choosing between .NET Core and .NET Framework for server apps

Use .NET Core for your server application when:
  • 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 .NET versions per application.
  • Are not afraid of breaking and fixing things since ASP.NET Core is not fully matured yet.
Use .NET Framework for your server application when:
  • Your app currently uses .NET Framework (recommendation is to extend instead of migrating).
  • Your app uses third-party .NET libraries or NuGet packages not available for .NET Core.
  • Your app uses .NET technologies that aren't available for .NET Core.
  • Your app uses a platform that doesn’t support .NET Core.
 Jeff Fritz from Microsoft writes in his article, Should I Use ASP.NET Core or MVC 5:
“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.

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.

No comments:

Post a Comment