.NET Framework vs .NET Core | Difference

.NET Framework vs .NET Core | Difference

We will discuss...
  • What is .NET Platform
  • What is .NET Framework and its Architecture
  • When to use .NET Framework
  • What is .NET Core
  • When to use .NET Core
  • Difference between .NET Framework and .NET Core

Suggested Videos:
What is ASP.NET Core Blazor ?

.NET Platform
  • .NET is a developer platform made up of tools (VS, VS CODE, VS for mac, OmniSharp, JetBrains, Rider, .NET core CLI and Ionide).
  • Supported Programming languages (c#, f#, vb) and libraries for building many different types of applications.
  • There are various implementations of .NET platform and each allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android and many more.
  1. .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
  2. .NET Core is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET Core is open source on GitHub.
  3. Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.

What is .NET Framework?
  • .NET Framework is a software development framework for building and running applications on Windows.
  • .NET Framework is part of the .NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.

Architecture of .NET Framework
  • .NET Framework applications are written in C#, F# or Visual Basic and compiled to Common Intermediate Language (CIL).
  • The Common Language Runtime (CLR) runs .NET applications on a given machine, converting the CIL to machine code.


Main components of .NET Framework
The two major components of .NET Framework are the Common Language Runtime (CLR) and the .NET Framework Class Library.
  1. The CLR is the execution engine that handles running applications.
  2. The Class Library provides a set of APIs and types for common functionality.

.NET Core for server application when:
  • You have cross-platform needs.
  • You are targeting microservices.
  • You are using Docker containers.
  • You need high-performance and scalable systems.
  • If we want to use several versions of .NET in the same project side by side then .NET core is the preferred choice.
.NET Core over .NET Framework
  • .NET Core is a brand new, rewritten, popular, scalable faster and modern replacement of .NET Framework.
  • .NET Core can work on multiple platforms such as Windows, Linux and Mac operating systems which is not the case with .NET framework.
  • .NET Core is open source and .NET framework is not.
  • Entity Framework Core is better than the Entity framework used in .NET Framework with better mappings (such as AutoMapper),migrations and query performance.
  • Microservices are present in .NET Core which comes under the SOA and easy to deploy in small parts.
  • .NET Core 3 supports WPF and Windows Forms so developers can build modern Windows client applications.
  • You cannot use Xamarin with .NET Core at this point.
  • Even though .NET Core supports VB and F# but that is not supported for all the projects types.
.NET Framework over .NET Core
  • 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. Windows, macOS, and Linux support .NET Core.
  • NET Core is not fully matured and is still evolving.
  • Feature such as Code access Security are not present in .NET core so .NET framework do have the edge in that case.
  • The material, documentation and tools available for .NET Framework are far more and more matured. compared to .NET Core. Even though .NET Core is catching up fast but there's still a long way to go.
Difference [.NET Core vs .NET Framework]
  • .NET Core and .NET Framework share many of the same components and you can share code across the two. Some key differences include:
  1. .NET Core is cross-platform and runs on Linux, macOS, and Windows. .NET Framework only runs on Windows.
  2. .NET Core is open-source and accepts contributions from the community. The .NET Framework source code is available, but does not take direct contributions.
  3. The majority of .NET innovation happens in .NET Core.
  4. .NET Framework is included in Windows and automatically updated machine-wide by Windows Update.
  5. .NET Core is shipped independently.
Click below to see the full video steps in Action.

No comments:

Post a Comment

Your feedback is important.
Visit www.techwebdots.in