Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Current state of Mono on Linux?

Tags:

.net

linux

mono

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!

like image 874
Mike Avatar asked Jun 12 '09 16:06

Mike


People also ask

Does Mono work on Linux?

Installing from source Mono is supported on more platforms than there are binary packages. In particular, Mono works on Solaris, HP/UX, and PowerPC Linux. For these platforms, you must compile Mono from source. You can obtain source packages from the Mono web site's download page.

Is Mono safe Linux?

Mono is perfectly safe to install and use.... for those wondering, its basically a package that is open source and compatible with . NET ... so programmers can make their . NET apps easily run on non-Windows machines...

What is Linux Mono?

Mono is a software platform designed to allow developers to easily create cross platform applications part of the . NET Foundation. Sponsored by Microsoft, Mono is an open source implementation of Microsoft's . NET Framework based on the ECMA standards for C# and the Common Language Runtime.


3 Answers

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/

like image 73
Alexandru Nedelcu Avatar answered Oct 19 '22 20:10

Alexandru Nedelcu


I'd say it's come a long way if it can support development of a game creation engine like Unity, which was used to develop Sims 3, among other things. Also, the Mono team is in some ways beating Microsoft at their own game, creating things like a static linker so that .NET code can run natively on the iPhone, and a C# REPL console.

For what it's worth, I've been playing with it on the ASP.NET side, and though there were a few bumps, it has been a very positive experience. I was able to get an ASP.NET MVC app running using NHibernate and MySQL.

like image 35
Brian Sullivan Avatar answered Oct 19 '22 21:10

Brian Sullivan


The current mono implementation (2.4) is quite good in terms of .NET 2.0 compilance (and some of the libraries from 3.5, like ASP.NET MVC or LINQ), but is still far away from generic .NET 3.0/3.5. If your application is designed using winforms, and does not use much from the .NET 3.0/3.5, then you have good chances that it'll work with mono. Of course there will be some parts of the .NET 3.5 framework that will probably be never supported, like WPF.

There is a Migration Analyzer on the mono page which can pinpoint you whether your application will run probably fine, or not under mono 2.4.

like image 4
SztupY Avatar answered Oct 19 '22 19:10

SztupY