What is the difference between .NET Core and Mono?
NET Core, which natively only allows you to build console apps and web applications, mono allows you to build many application types available in .NET Framework, including GUI-enabled desktop apps.So, if mono can do everything that .NET Core can while .NET Core can only do some of the things that mono can, why is .NET Core is being so heavily promoted, while mono isn’t?
Mono is the open source implementation of the .NET Framework which means that everything works like .NET v4 and it comes with all the baggage of the old framework (support for legacy code, etc). .NET Core is different from Mono in the same sense as .NET Framework and .NET Core. Core does not support any of the backwards compatibility that Mono has like .NET Framework. For eg, app initialization Core is different than .NET Framework.They are same in the sense that both are open-source and cross platform. But I believe the similarities end there.
Well, in reality, each of these programming platforms has its place. There are scenarios where .NET Core is a way better choice than mono, despite its limitations. And those scenarios are very common these days.