Hi! I'm begginer in Mono/.NET Framework and I wanna know about it.
I've read about .NET Framework, Mono (including Xamarin Platform) and .NET Core.
I know .NET Framework is the main implementation but is stuck to the Windows-family OS and Mono was made to run in Windows-family OS as well as UNIX-based OS (Mac OS, Linux-flavors, *BSD, Solaris, ...) and that was a great idea and work, but they doesn't work together as was thought it, maybe by dependency of the OS's and many other things (f.e.: WinForms can't be run on Linux. So, they created GTK#... So good!).
After all that... The Xamarin people saw a business opportunity with the iOS and Android platforms and made the Xamarin Platform (previously known as MonoTouch and Mono for Android) which runs over Mono according that I know.
I was reading about .NET Core, wich is cross-platform like Mono, has a subset of .NET Framework and Mono since version 4 is based on it (and that was a great idea because that makes more portables apps).
So, I have some doubts about the platforms:
Is Mono now a superset of .NET Core or just use the class libraries as .NET Framework do it?
1.- If it's a superset:
1.1.- What's the benefits for use Mono instead of .NET Core if both are cross-platform? (I know that .NET Core is a very simple implementation but for the developers as me, we wanna know it).
1.2.- Will be easily migrate apps from .NET Framework to new Mono?
1.3.- Now will be true that we can run apps over .NET Framework and Mono without adapt the source code?
1.4.- Xamarin Platform apps would be run over .NET Core?
2.- If just use the class libraries:
2.1.- Why keep 2 platforms that works like each other but the behavior and performance are differents?
2.2.- How hard would be adapt the source code to migrate among platforms (.NET Framework, Mono and .NET Core)?
Thanks in advanced.