Каковы преимущества и ограничения использования монопроекта для запуска кода C # на Linux? - PullRequest
6 голосов
/ 19 февраля 2011

Если у кого-нибудь есть решение о преимуществах и ограничениях использования монопроекта для запуска C # Code в Linux, пожалуйста, скажите мне свои мысли ...

Ответы [ 3 ]

10 голосов
/ 19 февраля 2011

Огромное преимущество - это работает.Вы можете использовать C #, разрабатывать и запускать в Linux (и других платформах, включая Windows).

Недостатком является то, что вещи не всегда работают так же, как в реализации MS .NET, инекоторые функции, которые вообще не реализованы, такие как WPF.

4 голосов
/ 19 февраля 2011

Преимущества

  • Инвестиции - когда вы выбираете правильное программное обеспечение, вам не нужно платить за лицензии на программное обеспечение при запуске Mono в Linux (это не значит, что это бесплатно- Linux бесплатен только в том случае, если ваше время не имеет значения).
  • Нет привязки к поставщику - у вас больше вариантов для другого программного обеспечения в Linux (например, для БД или веб-серверов) по сравнению с решениями MS, которые работают лучше всего.с другими вещами MS.
  • Моно-специфичные библиотеки (например, Mono.Simd или REPL).
  • Открытый исходный код (вы или другие, можете самостоятельно исправлять ошибки / предоставлять исправления / улучшать код).

Ограничения

  • Несовместимость с платформой MS.NET.
  • В целом, вероятно, вы потратите больше времени на определенные вещи(например, работа с несовместимостью или изучение администрирования Linux и т. д.).
  • Mono не обновляет новые API и функции в течение некоторого времени после выпуска новой версии .NET Framework.
3 голосов
/ 19 февраля 2011

Я разработал несколько приложений на C # и попытался запустить несколько приложений на Linux через Mono.Получить консольные приложения для запуска довольно просто.В большинстве случаев не требуется никаких изменений кода для запуска приложений такого типа под Mono.Тем не менее, приложения с графическим интерфейсом всегда сложнее.Первое, что вы должны знать, это то, что ваш пользовательский интерфейс не будет сливаться с темой пользователя.Приложение всегда будет выглядеть как приложение Windows 98, при условии, что вы используете Microsoft System.Windows.Forms.

Если, однако, вы планируете писать и запускать приложение только в Linux, то вы можете использовать Gtk Mono.# построить пользовательский интерфейс.Это намного лучше интегрируется с рабочими столами Linux, чем System.Windows.Forms. Эта страница дает краткое изложение различных инструментариев GUI, их плюсов и минусов.

Если вы используете System.Windows.Forms для инструментария GUI, чтобы запустить свойприложения в Windows и Linux, имейте в виду, что, хотя Mono поддерживает C # 4.0, лучше ограничиться C # 2.0, так как некоторые функции версии 3.0 и выше не реализованы или плохо работают в Linux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...