.net – Current state of Mono on Linux


I'm a long time user of the .NET Framework on Windows platforms, but I do a lot of programming on Linux as well. I'd like to take advantage of Mono for some particular projects, but the last time I tried (maybe 2 years ago?), Mono was simply not up to the task. As well, it was particularly difficult to get really good information on the state of Mono from either their site or Googling.

Are there any Mono gurus out there who can simplify the current state of the project for somebody used to using .NET 3.0 on Windows? Roughly how much of the base class libraries are usable, and how much of WinForms?

Thanks in advance!

Best Solution

A high-level status: mono-project.com/Plans

API status: go-mono.com/status

In case you want to migrate an existing app to Linux: MoMA

I also think it would be a better idea to ...

  • think about certain use-cases you might have for Mono ... your current question is too general
  • ask concrete questions on the mailing lists, since many smart and knowledgeable people that are active there probably don't read StackOverflow: mono-project.com/Mailing_Lists

A summary from my short experience:

  • Asp.net 2.0 is fully implemented, and I could get Asp.net MVC to work
  • Windows Forms is supported but will never be high quality because it's not a priority. Save yourself the pain and just create a Gtk# interface for your Linux port
  • the base libraries are implemented, and Linq DB is almost there, but you won't have any luck with Windows specific APIs, like WPF and WCF, although Silverlight is implemented in Moonlight
  • Mono is having success in recent games that need a powerful scripting environment. See companies using Mono: mono-project.com/Companies_Using_Mono

For news and stuff, follow Miguel's blog at tirania.org/blog/