What is Difference Between .Core CLR VS Mono CLR? Then why Microsoft maintain run time environments?
Asked Answered
N

1

6

What is Difference Between .Core CLR VS Mono CLR? Then why Microsoft maintain different run time environments ?

Nevlin answered 25/4, 2019 at 4:40 Comment(0)
E
6

Both are implementations of the .NET Standard but they have different implementation details. Mono is historically grown by the need of a cross-platform .NET implementation that runs everywhere. Later Mono became the foundation for Xamarin.

.NET Core is designed for performance, cross-platform, scalable cloud scenarios and the main workload is ASP.NET Core that runs on it. It's true that both are similar in the API surface and cross-platform capabilities, but they were created with other requirements in mind.

Both framework implementations are well supported. Depending on what you need to do, you pick one of them:

.NET Core

  • ASP.NET Core (Web Apps)
  • Desktop Apps WPF, WF (.NET Core 3.0 and Windows only)
  • Console Apps

Mono

  • Games (with Unity)
  • Console Apps
  • Desktop Apps (e.g. GTK#, cross-platform)
  • Mobile Apps (Android, iOS)
Economically answered 25/4, 2019 at 8:26 Comment(1)
Some addition, 1) Mono supports more gaming frameworks than Unity (MonoGame for instance). 2) Mono also supports more operating systems, mono-project.com/docs/about-mono/supported-platforms 3) Mono enables Blazor (WebAssembly). 4) .NET 5 is the future, devblogs.microsoft.com/dotnet/introducing-net-5Deathful

© 2022 - 2024 — McMap. All rights reserved.