Насколько надежным является Mono в Linux против .NET в Windows?

Я пытаюсь решить, используя Mono с С# или Python (Django) для веб-сайта на базе Linux. Моя проблема с С# заключается в том, что Mono может быть не такой надежной, как .NET. Кто-нибудь имеет опыт с этим?

Ответы

Ответ 1

Мне кажется, что Mono менее надежна, чем .NET в Windows, учитывая ресурсы, доступные для разработки, и размер пользовательской базы. Насколько меньше спорный вопрос.

Это сообщение в блоге от Miguel de Icaza иллюстрирует те проблемы, которые касаются меня при использовании Mono.

Однако я не могу дать вам никакого сравнения Mono и Python.

Ответ 2

Я делаю множество вещей, используя mono/С# в linux - все проекты, скомпилированные на машине Windows, не менее.

Я делал службы, веб-сайты, консольные приложения, вы называете это. если вы не делаете реальные вещи в крайнем случае, у вас не должно быть проблем.

Я также запускаю сайты с использованием lighttpd + fastcgi + mono без проблем. я люблю его

Ответ 3

Это зависит от того, что вы делаете. Если вы создаете не-корпоративный веб-сайт, вам следует делать все возможное с помощью эфира. Я слышал хорошие вещи о Моно. Проблема с использованием Mono заключается в том, что он постоянно играет в catchup с MS и что он должен поддерживать несколько платформ, в то время как MS - нет. Я написал настольные приложения с моно, но я никогда не делал связанных с ним веб-сайтов. С С# и платформой Windows ваш лучший выбор - это реализация MS. Моя рекомендация заключалась бы в использовании Python.

Я не могу говорить о поддержке, надежности и т.д. Django, но Python некоторое время работал вокруг, и у него есть длинный послужной список для эффективной работы в Linux/Unix.

Ответ 4

Лично я бы оттолкнул вас от использования С# (Mono), если вы ориентируетесь на Linux.

  • Ваше сообщество разработчиков может быть очень маленьким для любых проблем платформы; в то время как очевидно, что существует множество разработчиков С#, число, использующее Mono, относительно мало 1.
  • По моему опыту, есть много проблем даже при поиске последней версии Mono для Linux, если вы не запустите SUSE 2.
  • В то время как Mono может иметь нужные функции и может иметь надёжность (я не могу комментировать, я все еще использую 1.x!), вы также можете посмотреть скорость, если вы ожидаете интенсивного использования.
  • Если вы планируете развертывать другие машины (особенно если вы не можете их клонировать), это гораздо более проблематично; они имеют несколько меньшее значение, если это только один сервер. 3
  • Есть некоторые, кто обеспокоен угрозой судебных процессов над технологией Mono, и что может произойти с конечными пользователями (вами и вашими пользователями), если это произойдет. Из того, что я читал, я не слишком обеспокоен, но я не юрист.

Удачи.

  • Я мог ошибаться; Я не смотрел на номера загрузки для Mono, хотя это было бы верхняя граница.
  • Ubuntu Karmic (9.10) имеет Mono 2.4, но я сожалею, что я получил повышение от Jaunty (9.04), у которого было 1.9.
  • Здание из источника может облагаться налогом. И есть другие источники для двоичных файлов Mono 2.X, но их найти нелегко.

Ответ 5

Это может быть чистая спекуляция, но вот мой опыт. Я использую ubuntu и mono (а также monodevelop) поставляется на 2 года по сравнению с текущей версией. Вы могли бы скомпилировать более новую, но эту боль. Я использовал его в 3 проектах для хобби, вот мой вывод: по сравнению с реализацией microsoft это глючит и имеет утечку памяти и медленнее. Ну, большую часть времени он будет работать, но вы должны подчеркнуть свое программное обеспечение, и вы увидите. Мне жаль, что я не знал, что С++ так же хорош, как С#, поэтому я могу пойти с ним на Linux. Все относится к v.2.10 и ниже.