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

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

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

Спасибо.


Install Base - мера количества фактически используемых модулей определенного типа системы.


person Amirshk    schedule 31.01.2010    source источник
comment
Что вы имеете в виду под «установочной базой»? Мы работаем над проектом, который является x-платформой, предназначенной для Mono / Windows / Mac.   -  person IAbstract    schedule 31.01.2010
comment
Что вы имеете в виду под установочной базой?   -  person    schedule 31.01.2010
comment
@dboarman & @Amit - Я считаю, что он ищет здесь статистику, например, 97% всех компьютеров имеют флеш-память (независимо от статистики) ... поэтому он знает, насколько широка развертываемая аудитория.   -  person Nick Craver    schedule 31.01.2010
comment
Совершенно верно, я добавил официальное определение   -  person Amirshk    schedule 31.01.2010


Ответы (6)


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

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

person Nick Craver    schedule 31.01.2010
comment
Он сказал, что статистика основана на статистике обновлений Windows. Итак, на самом деле статистика говорит о том, что 90% компьютеров, подключенных к Интернету, которые настроены на использование Центра обновления Windows, имеют .NET. Совсем не информативно. - person Paul; 31.01.2010
comment
интересно, по крайней мере, у него есть статистика для windows. в сочетании с базой установки ОС я могу сделать хорошее предположение о том, насколько это распространено. - person Amirshk; 31.01.2010
comment
@Paul - Верно, но я бы ожидал, что большинство машин, которые не используют обновления Windows, находятся внутри компаний ... и если они так работают, установка любого программного обеспечения, которое вы хотите, в любом случае, вероятно, не вариант. Я бы подумал, что те, кто не подключен / не использует обновление Windows, в основном подпадают под эту категорию или типы программистов / первых пользователей, которые отходят от XP ... и все, что выше, имеет .Net 2.0+, я приветствовал бы любое обсуждение того, почему это число может или может быть не более / менее достоверным ... но я не знаю какой-либо другой информированной статистики по этой проблеме, хотелось бы, чтобы кто-нибудь разместил ее здесь для сравнения. - person Nick Craver; 31.01.2010
comment
Я просто хотел сказать, что статистика Скотта не приближает нас к выяснению мировой процентной базы установки .NET / Mono, что и требовалось OP. Он не учитывает окна Mac и * nix, а также любые окна Windows, на которых по какой-либо причине не работает MS Update. - person Paul; 01.02.2010
comment
@Paul: Я бы полагался на статистику, основанную на реальных пользователях, вместо того, чтобы беспокоиться о добавленных серверах и количествах установок корпорации лично. Я думаю, это действительно зависит от проекта и от того, где он будет использоваться. - person Will Eddins; 05.02.2010
comment
@Will: Это ваш звонок; Я просто хотел указать на недостатки этой характеристики. возьми это fwiw. - person Paul; 11.02.2010

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

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

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

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

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

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

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

N8

person Nate    schedule 31.01.2010
comment
Таким образом, можно с уверенностью сказать, что, работая с C #, у меня может быть много кросс-компиляции кода для unix / mac. - person Amirshk; 31.01.2010
comment
Практически любой код будет работать. Держитесь подальше от WPF и P / Invoke. Если вы можете избежать Winforms и вместо этого использовать GTK #, вам будет лучше. Однако теперь большинство Winforms должно работать. - person Nate; 01.02.2010
comment
это правда. Мы ограничиваем использование WinForms (в основном 6 различных элементов управления) - по крайней мере, до тех пор, пока у нас не будет GTK # и наш фреймворк, готовый к совместному использованию (читайте, как только я научусь его использовать ... lol) - person IAbstract; 04.02.2010

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

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

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

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

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

person IAbstract    schedule 31.01.2010
comment
Не беспокойтесь, проект уже создается, мне просто интересно, правильно ли мы сделали выбор с C #. - person Amirshk; 31.01.2010
comment
Я считаю, что вы сделали отличный выбор, выбрав C #. Это то, что мы используем. MonoDevelop написан на C #. Зайдите на www.koders.com, и вы даже можете найти все файлы с открытым исходным кодом Mono. Я не понимал, что вы на самом деле обсуждали использование C #. - person IAbstract; 01.02.2010
comment
Есть технологии MS, которых следует избегать с Mono, но MEF поставляется в готовом виде. WPF, Entity Framework и Windows Workflow - самые большие области, от которых следует избегать. - person Justin; 29.03.2011

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

Это соответствует 15% установленной базы на всех установках debian (конечно, включая многие серверы).

Чтобы приблизиться к установкам рабочего стола, я посмотрел на установки xserver-xorg (49872 inst, ранг # 390).

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

Другие:

  • Баш: 99,9%
  • перл: 99,4%
  • питон: 97%
  • php (4,5, cgi, cli): 56% (вероятно, содержит дубликаты)
  • tcl8.4: 45%
  • tk8.4: 35%
  • java: 35% (более 50% из которых - старые несвободные JRE Sun)
  • ruby1.8: 26%
  • ghc6 (haskell): 2%

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

person David Schmitt    schedule 05.02.2010
comment
tnx @david, я искал что-то подобное. - person Amirshk; 06.02.2010

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

У Аарона Стебнера есть страница с подробным описанием того, какая версия Windows имеет стандартную версию .NET. Так что, если вы знаете, какую ОС использует ваша целевая аудитория, вы сможете решить, будет ли у них установлен .NET и какая версия.

person ChrisF    schedule 31.01.2010

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

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

person Maurits Rijk    schedule 31.01.2010