Основа установки .NET/Mono

Я и некоторые друзья рассматривают возможность написания нового проекта FOSS, и дискуссия делится между использованием .NET или чем-то еще.

Итак, мне интересно, есть ли объявленная база установки для Mono на машинах Linux? и если имеется известная база установки Mono или Microsoft.Net на машинах Windows?

Спасибо.


Установить базу - мера количества единиц конкретного типа системы, которая фактически используется.

Ответ 1

Hanselman дает stat для .Net Framework Installs. Он помещает его поверх 90% ПК. с более 65% компьютеров с 3.5 SP1. (Это было опубликовано 19 января 2010 г.)

Я не уверен, откуда берутся цифры, но это единственная фигура, которую я видел за довольно долгое время. Что касается Моно... я не уверен.

Ответ 2

Для Linux я бы просто посмотрел на самые популярные дистрибутивы. Например, Ubuntu по умолчанию поставляется с Mono. Там у вас есть большая потенциальная база пользователей.

Vista + будет иметь .Net.

В Mac OS X, GTK # и Mono могут быть включены в приложение. Недавно Banshee выпустил версию, которая делает это.

В Windows XP я просто создаю установщик с помощью проекта установки Visual Studio и использую функцию предварительных условий для определения зависимостей. Если зависимости не находятся на машине, установщик может ввести их для вас.

.RPM и .DEB форматы установщика могут сделать то же самое для вас в Linux.

Все, в общем, я бы сказал, напишу приложение, а затем обойти зависимости, написав хороший установщик или пакет.

Кстати, если у вас нет Visual Studio для установщика в Windows, Innosetup отлично работает.

N8

Ответ 3

Ваша лучшая общая ставка - пойти с .NET. Хотя мы фокусируемся на разработке пакета приложений, мы поддерживаем технологии как можно более кросс-платформенные (я бы использовал термин generic, но это было бы запутанным).

Сначала создайте свой общий дизайн/архитектуру. Затем изучите технологии, которые вы рассматриваете. Например, если ваше приложение будет нацелено на платформу Mono, есть технологии MS, которые вы даже не должны учитывать (MEF приходит на ум).

Не позволяйте дискуссиям по Linux/Windows/Mono не дать вам ничего сделать.;)

Редактировать на основе комментария Am: Я не понимал, что вас действительно беспокоит, было ли решение использовать С# лучшим решением. В свете этого я добавлю немного больше.

Моно написано на С#. Популярность огромна. Добавьте гибкость С# и расширение (более или менее) С++, я действительно не думаю, что вы можете пойти не так. По-прежнему существуют соображения, о которых я говорил выше, о которых вам следует знать.

Ответ 4

В соответствии с Конкурс популярности Debian, mono-runtime установлен на 13184 из 90447 участвующих в Debian хостов (ранг # 1504).

Это переведет на установленную базу на 15% на все debian-установки (конечно, включая множество серверов).

Для аппроксимации установок Desktop я посмотрел установки xserver-xorg (49872 inst, rank # 390).

Предполагая, что mono устанавливается только в том случае, если установлен X-сервер, это переведет на установленную базу в 26% в пределах рабочей среды.

Другие:

  • bash: 99,9%
  • perl: 99.4%
  • python: 97%
  • php (4,5, cgi, cli): 56% (вероятно, содержит некоторые дубликаты)
  • tcl8.4: 45%
  • tk8.4: 35%
  • java: 35% (более 50% из которых являются старыми несвободными ВС JRE)
  • ruby1.8: 26%
  • ghc6 (haskell): 2%

В качестве побочного примечания: из-за автоматического разрешения зависимостей и установки таких инструментов, как apt и yum, небольшая установленная база интерпретатора представляет собой гораздо меньшую проблему, чем в Windows, где процесс ручной установки гораздо более утомительный.

Ответ 5

Все компьютеры под управлением Vista будут иметь как минимум .NET 2, так и Windows-7.NET 3.5.1.

У Aaron Stebner есть страница, в которой описывается, какая версия Windows имеет версию .NET, установленную как стандартную. Поэтому, если вы знаете, что ОС работает вашей целевой аудиторией, вы сможете решить, будут ли они установлены .NET и какая версия.

Ответ 6

Позвольте мне попытаться дать вам обоснованное предположение о проникновении Mono в Linux. Для KDE практически нет приложений, зависящих от Mono. Для GNOME это может быть иначе. Несколько популярных приложений (TomBoy, F-Spot, мой собственный материал GIMP #;)) нуждаются в моно.

Теперь предположим, что 50% всех настольных сред - это KDE, другая половина - GNOME. И давайте предположим, что половина пользователей GNOME устанавливает программу, которая зависит от Mono. В этом случае вы получаете около 25% вашей пользовательской базы Linux, на которой установлен Mono. Лично я думаю, что это уже довольно большое число, но если даёт верхний предел. Мой собственный гость будет около 10%, но это всего лишь ощущение кишки. Надеюсь, это поможет.