Я недавно изученный существование Значок от этот вопрос . Я с тех пор использовал его в ответах на несколько вопросов. ( 1 , 2 , 3 , 4 )
Это интересно из-за своей стратегии оценки - это - единственный императивный язык, я знаю что отслеживание в обратном порядке поддержек. Это позволяет некоторый хороший сжатый код для многих вещей:)
Только если вы планируете заняться каким-то обезьяньим делом.
(edit: примечание для тех, кто проголосовал против; узнайте, что означает слово «моно» на испанском языке, и посмотрите на его значок, а также посмотрите вокруг на свое чувство юмора, я подозреваю, что вы можете потеряли его).
Выбираем пару примеров из «Компании, использующие Mono» :
- Novell: Novell использует Mono как для клиентских, так и для серверных приложений:
- ZenWorks Linux Management
- продукт настольного поиска Beagle
- управление фотографиями (F-Spot)
- Сервер группового программного обеспечения (Hula)
- Electronic Arts использовала его для поддержки Sims3.
- Medsphere: Программное обеспечение Medsphere OpenVista позволяет врачам получать доступ к полной информации о состоянии здоровья пациента в момент оказания помощи, и оно работает как на Windows, так и на Linux, благодаря Mono.
Если этого достаточно для таких компаний, Mono может быть достаточно хорошим для вас - это просто зависит от того, что вы об этом думаете. Если ваш стартап обречен на провал, Mono ничего не изменит; Если у вас отличная концепция и отличная команда, не имеет большого значения, используете ли вы Mono, Visual Studio или любую другую IDE.
Поскольку это общий вопрос, я дам сценарий.
Например, вы работаете и используете платформу .NET и продаете какой-то продукт. ИМО: Если это серверный продукт, у вас есть хорошие шансы на то, что клиенты захотят запустить его на Linux.
Оба варианта имеют недостатки. Если вы выберете №1, потеряете продажи, а значит, и доход. Это, конечно, зависит от того, сколько ваших потенциальных клиентов хотят использовать Linux.
Второй вариант имеет недостатки в том, что вам необходимо тестировать свое приложение как в Mono, так и в .NET framework. Это отнимает время разработчика, а время - деньги. :)
Но в любом случае это решение, которое вы должны принять, и правильное решение зависит от приложения и рынка.
Здесь - недавняя запись в блоге Джеффри Стедфаста, которая может пролить свет на этот вопрос. Я занимаюсь разработкой для Windows и буду продолжать заниматься этим бесконечно, так что я не участвую в этой борьбе.
Я работал над Mono для кроссплатформенного коммерческого проекта Windows / Linux.
Это действительно зависит от приложения. Если ваше приложение стоит или падает с моно, тогда нет.
Как и в случае с акциями, нельзя вкладывать все свои деньги в одну, слишком рискованно.
Поскольку я никогда не использовал Mono, мне было бы очень интересно услышать от людей пример продукта, который подходит для создания в Mono, и пример, который не подходит.
Да, потому что даже если ваше приложение выйдет из строя в Mono, оно все равно будет нормально работать в Windows. И последнее, что я проверял, было по крайней мере пара успешных компаний, пишущих программное обеспечение для Windows.
Я участвовал во многих стартапах. Мы не можем ответить на ваш вопрос, потому что это больше похоже на вопрос управления рисками: если что-то не получается, можете ли вы исправить это или найти обходной путь, приложив разумные усилия? И сколько раз вы ожидаете, что он потерпит неудачу?
Чтобы ответить на этот вопрос, вам нужно знать, какие платформы вы хотите поддерживать, как вы собираетесь использовать моно и какие навыки у вас есть. Если вы хотите поддерживать все платформы, на которых работает mono, вы столкнетесь с гораздо большим количеством проблем, чем, например, если вы просто хотите поддерживать Mono в Ubuntu. Mono - это открытый исходный код, но если вы хотите исправить ошибку внутри моно, вам нужно иметь навыки и время, чтобы сделать именно это.
Другой вопрос, насколько надежным вы хотите, чтобы ваш продукт был? Если вы посмотрите на такой продукт, как Samsung s DVB-C рекордер с жестким диском, иногда он дает сбой. Даже Playstation 3 время от времени дает сбой. Если вы создаете интернет-сервер, сбои часто можно хорошо скрыть, если клиент попытается повторить попытку после тайм-аута.
Если бы мне понадобился моно при запуске, и у меня с самого начала было бы как минимум 1 опытный программист, помимо меня, я не будет проблем с выбором моно в качестве платформы.
Да, если вы полагаетесь на текущее состояние Mono. Нет, если вы полагаетесь на будущие обещания, каким будет Mono.
При первом варианте все еще есть риск, связанный с тем, что рано или поздно придется перейти на другую платформу, потому что Mono может застопориться. Если ваши планы действительны, современное состояние все равно даст вам достаточно платформы для приобретения ресурсов для переезда. Если вы вообще не можете пойти на такой риск, не создавайте стартап.