You would use Mono for mobile apps (i.e. Xamarin&#x27;s bread-and-butter), cross-platform desktop apps, and server apps based on currently released versions of ASP.NET.<p>You would use .NET Core for server apps based on the upcoming version of ASP.NET.<p>In the future, it would nice if an ecosystem builds up for using .NET Core in other contexts.  In particular, I know that not so many people care about desktop GUI development these days... but it would be great if you could combine .NET Core and AOT native compilation.  Be able to write cross-platform desktop apps in type-safe, more-friendly-than-C++ language... and be able to ship them as standalone executables rather than worrying about a Mono or Java runtime being installed.