Mono is frequently used to say "Yes, .NET is cross-platform". How valid is that claim?
Posted
by
Thorbjørn Ravn Andersen
on Programmers
See other posts from Programmers
or by Thorbjørn Ravn Andersen
Published on 2010-11-20T17:11:48Z
Indexed on
2012/09/07
21:50 UTC
Read the original article
Hit count: 291
In What would you choose for your project between .NET and Java at this point in time? I say that I would consider the "Will you always deploy to Windows?" the single most important (EDIT: technical) decision to make up front in a new web project, and if the answer is "no", I would recommend Java instead of .NET.
A very common counter-argument is that "If we ever want to run on Linux/OS X/Whatever, we'll just run Mono", which is a very compelling argument on the surface, but I don't agree for several reasons.
- OpenJDK and all the vendor supplied JVM's have passed the official Sun TCK ensuring things work correctly. I am not aware of Mono passing a Microsoft TCK.
- Mono trails the .NET releases. What .NET-level is currently fully supported?
- Does all GUI elements (WinForms?) work correctly in Mono?
- Businesses may not want to depend on Open Source frameworks as the official plan B.
I am aware that with the new governance of Java by Oracle, the future is unsafe, but e.g. IBM provides JDK's for many platforms, including Linux. They are just not open sourced.
So, under which circumstances is Mono a valid business strategy for .NET-applications?
Edit: Mark H summarized it as: "If the claim is that "I have a windows application written in .NET, it should run on mono", then not, it's not a valid claim - but Mono has made efforts to make porting such applications simpler.".
© Programmers or respective owner