4 ms·
Should .Net Core be considered a competitor to Mono? Why would someone use Mono when they can use a multi-platform .Net RT straight from Microsoft?
by hitgeek 11y ago
Should .Net Core be considered a competitor to Mono? Why would someone use Mono when they can use a multi-platform .Net RT straight from Microsoft?
- jeffesp 11y ago.Net Core does not have the same API coverage as Mono. So some things are available, while others are not. (I think) Mono is integrating things from the open source parts of .Net, but you still have areas where you might be using something that isn't available in Core but is with Mono (non-win) or the full framework (on windows).
- runfaster2000 11y agoNot a competitor. We work closely with the Mono team, specifically Miguel. We are releasing lots of source for them with each .NET Framework release. The Mono team is adopting large quantities of that source to improve Mono. It's a collaboration. Certainly, there are now two .NET choices on Linux. If you ask Miguel, I suspect he'd recommend .NET Core if you are building a server app. Disclosure: .NET Core team member
- eatonphil 11y agoI got confused when trying to install .NET Core, so sorry if this is a bad question. It seemed like .NET Core depended on Mono. Does it actually? I can't remember what exactly seemed like it depended on Mono. Perhaps Nuget? My memory is fuzzy. Either way, these two docs [0,1] (not just those particular pages) could really use some clarifications. I had trouble working my way through either of them and they seemed to be giving conflicting information at times. Granted, I have no significant experience with .NET or Mono. I was able to install Mono once on Ubuntu. But I gave up after trying to install .NET Core on Ubuntu (and FreeBSD) more recently - a week ago. Sorry, I can't provide more substantial criticism right now. I guess the forums[2] would be the best place to bring these issues up in the future (with more information)? [0] http://dotnet.readthedocs.org/en/latest/getting-started/installing-core-linux.html http://dotnet.readthedocs.org/en/latest/getting-started/inst... [1] https://dotnet.github.io/getting-started/ https://dotnet.github.io/getting-started/ [2] http://forums.dotnetfoundation.org/ http://forums.dotnetfoundation.org/
- Locke1689 11y agoWhat's confusing about [1]? I'm not on the ASP.NET team, but may be able to provide some general guidance.
- eatonphil 11y agoIt wasn't necessarily that [0] or [1] was confusing in and of themselves but that the information seemed to conflict at times. Having multiple sources can be helpful to establish patterns unless they are saying opposite things. But again, I cannot point to specifics. I guess my current question is, can .NET Core be built on FreeBSD without a Windows machine? It appeared that this, for one, was not the case. This is a bit of a showstopper.
- voltagex_ 11y agohttps://github.com/dotnet/coreclr/blob/master/Documentation/building/freebsd-instructions.md https://github.com/dotnet/coreclr/blob/master/Documentation/... - if that doesn't work, it's a bug.
- eatonphil 11y agoSo it looks like the answer is yes then. You do need a Windows machine to build the managed components. So I cannot build (for now) if I do not have a Windows machine. I did actually follow this guide, though I still wasn't able to compile. The build failed before the managed components section. If I have a chance to look at it again, I'll try to file a bug report or get more help.
- voltagex_ 11y agoSigh. It'd be really good if MS would give out some Azure time for open source work.
- SideburnsOfDoom 11y agoXamarin is positioning themselves as more of a cross-platform tools company now, since the definitive "multi-platform .Net RT" will come from Microsoft. It looks like Xamarin's business will be to build on top of that.
- halestock 11y agoXamarin is separate from mono, no?
- SideburnsOfDoom 11y ago"Mono is a free and open source project led by Xamarin" https://en.wikipedia.org/wiki/Mono_(software) https://en.wikipedia.org/wiki/Mono_(software) But Xamarin have wisely moved into a wider place in the .NET tools ecosystem so that they don't only do mono, i.e. so they don't live and die with it. Mono has been important and useful. But it may not continue to be that.
- StevePerkins 11y agoYou would use Mono for mobile apps (i.e. Xamarin's bread-and-butter), cross-platform desktop apps, and server apps based on currently released versions of ASP.NET. You would use .NET Core for server apps based on the upcoming version of ASP.NET. 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.
- rodrigokumpera 11y agoMaybe you'd be interested in mkbundle[1]. A tool mono has for close to a decade that allows you to bundle your app and all its dependencies into a single file. We use it extensively at Xamarin with our platform. [1] http://www.mono-project.com/archived/guiderunning_mono_applications/#bundles http://www.mono-project.com/archived/guiderunning_mono_appli...