Wednesday, November 29, 2017

What's new in .Net Core 2.0

New  featured in NET Core 2.0

• Fastest version of .NET ever

• More APIs

• More project templates

• More distros

• Simplified packaging

• New and improved Visual Studio tooling

• Visual Studio for Mac support


Has much bigger API surface

Extended to cover intersection between .NET Framework and Xamarin

Also makes .NET Core 2.0 bigger as it implements .NET Standard 2.0

+20K More APIs than .NET Standard I.x


Can reference .NET Framework libraries

Compatibility shim allows referencing existing .NET Framework binaries

No recompile required — also covers existing NuGet packages 

Limited to libraries that only use APIs that are available for .NET Standard

~70% of NuGet packages are API compatible 


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.