It's been a few years since I've taken a deep look at Mono. When I last took a look, it wasnt quite there as far as BCL implementation and the tools available were limited. I have a specific need now to do some cross platform development, and was wondering what the community thought about Mono as a choice in the enterprise. Since I've been doing most of my dev work the past several years in .Net, Mono seems to be a natural choice. I don't want to push a technology that won't stand up to the test, however.
Note: I'm NOT talking about a small or even medium sized project. I'm talking about a large scale enterprise application that will be distributed globally, utilizing a service oriented approach. Additionally, how stable are services written on the Mono platform?
Your input is appreciated!
Mono robustness have been improved to be adequate for heavy duty asp.net sites - a lot of bug fixing to improve stability have happened for the 2.0 release.
Not only that but we did quite some work to improve the overall scalability of our stack.
Most of it made into the 2.0 release but some happened after and is queued for the upcoming 2.2 later this year.
I've worked last summer to get a .NET 2.0 (+/- 50 000 lines of code) project working on Mac OS X with Mono 1.91. I had to rewrite the interface with Monobcj because the Mono-Winforms implementation looks terrible on Mac. But for the non-UI code, everything worked pretty well after I removed dependencies on specific Win32 calls.
With 2.0 out now, I think it is. Our current build system depends on it and have been very happy with it. Now for releasing an actual product, Can you do it all in .NET 2.0? If so I think it is.
I think it really depends on what you call raedy for enterprise as this is a very overloaded term.
See my post on a similar questions:
Is Mono ready for prime time?
Last time I looked into it, there were several limitations. That was a couple of years ago. Scalability was our issue then.
If you have a "specific need" for cross platform development, then I think Mono is really your only choice :) But as stated, it really has come a long way.