3

I am a budding .NET developer. I wanted to know to what extent does the Mono project support the .NET applications. Where can I find detailed information about what classes/functionalities have been implemented?

Also, is there a significant difference in coding style when targeting the mono implementation of the CLR?(I realize that this question is not very clear, please try to answer it if possible.)

Additionally, what about WPF support?

I know I could Google a lot of this(and I did too), but somehow, it's not the same.

Jinal Kothari
  • 117
  • 1
  • 1
  • 11

4 Answers4

4

WPF is not supported at all, plain and simple. Silverlight (aka Moonligth) is. Class implementation status is tracked automatically online. Also, you can use a tool called MoMA to help you find API you use that is not yet present in Mono.

skolima
  • 31,963
  • 27
  • 115
  • 151
2

See this page for a comprehensive list.

WPF among other things is not supported.

H.B.
  • 166,899
  • 29
  • 327
  • 400
  • Thanx, exactly what I was looking for. Perhaps I didn't Google hard enough. Sorry, can't mark yours as the answer .. not enough reputation. – Jinal Kothari Jun 26 '11 at 16:29
  • 2
    Also, this might be helpful for anyone else looking for the same information. http://go-mono.com/status/ – Jinal Kothari Jun 26 '11 at 16:31
  • (The problem is not reputation, you have to wait for the question to be 15 minutes old. So you could accept it quite soon if you want to.) – H.B. Jun 26 '11 at 16:35
  • @H.B. : This page you linked too is outdated - it's about Mono 2.8, current version is 2.10. – skolima Jun 26 '11 at 16:54
  • @skolima: If they had thought that the changes from 2.10 had been important for that listing they probably would have updated it, don't you think? – H.B. Jun 26 '11 at 17:14
  • 1
    @H.B. : unfortunately, no. Mono has been through some turmoil recently, with developers getting laid off by Novel, forming of Xamarin as the new company behind Mono, and the project currently is a bit under-staffed as they're racing to deliver a commercial product for cross-platform mobile .Net development. Look to http://www.mono-project.com/Release_Notes_Mono_2.10 for an immense list of compatiblity improvements (VB.Net, F#, MVC3, Silverlight and more). – skolima Jun 26 '11 at 17:51
1

Things Supported by MONO (PROS):

1- MONO perfectly supports the whole .NET framework up until version 2.0.

2- Support for Windows Forms is almost complete and it has never troubled me.

3- The MONO Project also provides a .NET Binding of GTK+ called GTK# included in MONO and provided as an installer for .NET 1.1 and later.

4- Mono runs exes compiled by the .NET Framework (The vice-versa is also true till .NET 2.0)

5- You can run Windows Executables (.exe) with MONO from other platforms directly without needing to cross-compile.

6- Microsoft Silverlight has a MONO implementation called MoonLight.

7- You can embed the MONO Runtime into your executables (optional and untested).

Things not Supported (CONS):

1- No or incomplete support after .NET 2.0 including new things like WPF.

2- MONO only completely supports C# and a little of VB (C++ .NET and Boo are not supported)

All in all MONO is completely compatible with the .NET Framework as long as you are using .NET 2.0 or earlier, hence .NET 2.0 or earlier is completely cross-platform, but things made later can be a problem. So if you are using only ,NET 2,0 or earlier features in your code, you can run it perfectly with MONO.

ApprenticeHacker
  • 21,351
  • 27
  • 103
  • 153
1

See here regarding WPF:

I would not hold my breath for WPF from Mono. I have seen estimates of 50 developer years of effort and it is not worth that much to Novell. They are targeting mobile and games as far as I can tell. It seems unlikely that anybody else will step-up for that kind of effort.

@BoltClock wpf on mono won't happen.
Community
  • 1
  • 1
Matěj Zábský
  • 16,909
  • 15
  • 69
  • 114
  • Thank you, the other question that you linked has all the info I need. Looks like I won't be considering WPF in my apps if I want cross platform support. – Jinal Kothari Jun 28 '11 at 13:18
  • 1
    Well if you want to build a real cross-platform application you have to build a (semi)native UI for every OS, which means WPF for Windows, Cocoa.Net for OS X, GTK# for Linux... – skolima Jun 28 '11 at 13:29
  • Hey, thank you. Could you also please look into this other question I have: http://stackoverflow.com/questions/4735207/storage-devices-file-transfer-and-copy-operation-logic – Jinal Kothari Jul 01 '11 at 19:25