Прошло несколько лет с тех пор, как я глубоко изучил Mono. Когда я в последний раз смотрел, этого не было, поскольку реализация BCL и доступные инструменты были ограничены. Сейчас у меня есть конкретная потребность в кроссплатформенной разработке, и мне было интересно, что сообщество думает о Mono как о выборе для предприятия. Поскольку последние несколько лет я выполнял большую часть своей разработки в .Net, Mono кажется естественным выбором. Однако я не хочу продвигать технологию, которая не выдержит испытания.
Примечание: я НЕ говорю о небольшом или даже среднем проекте. Я говорю о крупномасштабном корпоративном приложении, которое будет распространяться по всему миру с использованием сервис-ориентированного подхода. Кроме того, насколько стабильны сервисы, написанные на платформе Mono?
Ваш вклад приветствуется!





Когда я в последний раз заглядывал в нее, было несколько ограничений. Это было пару лет назад. Тогда нашей проблемой была масштабируемость.
Я думаю, что с выходом 2.0 сейчас. Наша текущая система сборки зависит от этого, и мы ей очень довольны. Теперь о выпуске реального продукта. Можете ли вы сделать все это в .NET 2.0? Если так, я думаю, что это так.
Если у вас есть «особая потребность» в кроссплатформенной разработке, то я думаю, что Mono - действительно ваш единственный выбор :) Но, как уже говорилось, он действительно прошел долгий путь.
Надежность Mono была улучшена, чтобы соответствовать мощным сайтам asp.net - в версии 2.0 было исправлено множество ошибок для повышения стабильности.
Не только это, но и мы проделали значительную работу, чтобы улучшить общую масштабируемость нашего стека.
Большая часть этого вошла в выпуск 2.0, но некоторые произошли позже и поставлены в очередь на выпуск 2.2 в конце этого года.
Прошлым летом я работал над проектом .NET 2.0 (+/- 50 000 строк кода), работающим на Mac OS X с Mono 1.91. Мне пришлось переписать интерфейс с помощью Monobcj, потому что реализация Mono-Winforms выглядит ужасно на Mac. Но для кода, не относящегося к пользовательскому интерфейсу, все работало довольно хорошо после того, как я удалил зависимости от конкретных вызовов Win32.
Я думаю, это действительно зависит от того, что вы называете «рентабельным для предприятия», поскольку это очень перегруженный термин.
Смотрите мой пост по аналогичным вопросам: Готов ли Mono к выходу в прайм-тайм?