Использование .NET для разработки продуктов на основе Windows Forms - PullRequest
3 голосов
/ 18 сентября 2009

.NET стала популярной технологией среди разработчиков программного обеспечения и потребителей. Я думал о том, будет ли разумным решение разработать продукт на основе Windows Forms в .NET, который может быть загружен тысячами клиентов по всему миру. Настоящей проблемой может быть установка фреймворка, которая значительно выросла с версиями .NET.

v2.0 имел достойную установку 22 МБ, но последняя версия 3.5 выходит за пределы 150 МБ и может стать решающим фактором для клиентов. Я слышал о некоторых инструментах, которые делают тип «статического» связывания для сборок .NET (например, ILMerge) и могут использоваться для создания небольших автономных исполняемых файлов, но вопрос в том, могут ли эти инструменты использоваться в производственной среде? Инструмент ILMerge был инструментом исследования, и я думаю, что он никогда не подходил для установки VS.

У меня есть продукт для разработки, которому нужен очень приятный интерфейс, который можно реализовать с помощью поддержки WPF. Но я не уверен, что клиенты захотят загрузить 150 МБ фреймворк (не уверен, насколько велик v3.0) для приложения 4 МБ. Если я разрабатываю в .NET 2.0, я теряю поддержку WPF. XP, Vista, Windows 7 поставляются с предустановленной .NET Framework?

- ОБНОВЛЕНО НА ОСНОВЕ КОММЕНТАРИЙ -

Приложение будет загружено с веб-сайта и не будет иметь распространяемого носителя.

  1. Использование .NET 2.0 - Это не позволяет мне использовать WPF, поэтому я не буду использовать модные вещи, если не буду использовать какой-либо инструмент для создания скинов сторонних производителей.
  2. Используйте профиль клиента, чтобы сократить установку - Количество установок уменьшится до 30 мегабайт, и я сохраню поддержку WPF / WCF вместе с новыми функциями инфраструктуры.
  3. Поддерживаемые ОС

      Win 98, ME, 2000 - Full install of Runtime required
      Win XP SP2, SP3, 2003 (I think these have .NET 2.0)
      Vista, 2008 - All version have atleast v3.0
      Windows 7 - v3.5
    

Ответы [ 8 ]

4 голосов
/ 18 сентября 2009

Различные версии .NET Framework поставляются с предустановленной Vista и Windows 7 :

  • XP - Ничего
  • Vista - .NET 3.0
  • Windows 7 - .NET 3.5

Если вы действительно обеспокоены размером загрузки, вам следует взглянуть на профиль клиента. Это урезанная версия фреймворка, которая включает в себя только самые важные элементы для разработки клиентских приложений. Я считаю, что его размер ~ 30 МБ. Поддержка для него была пятнистой в 3.5. Он работал только на XP 32bit и только в том случае, если не было установлено никаких других версий платформы , но в 4.0 он выглядит намного лучше. Теперь он работает на всех платформах, которые поддерживают полную платформу .NET, даже если у них уже есть другая версия платформы, и поставляется в распространяемой форме, а также в веб-установщике См. Здесь

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

3 голосов
/ 18 сентября 2009

Если вы беспокоитесь о размере установки, я бы нацелил платформу .Net 2.0 на платформу .Net 3.5 - если вы просто делаете простое приложение для форм Windows (без WCF, WPF или Linq и т. Д ...) затем .Net 2.0 Framework имеет 90% функциональности .Net 3.0 или 3.5, и он также присутствует на гораздо более высоком проценте машин (80% согласно этому блогу)

В VS2008 я изменил шаблоны моего проекта, чтобы сделать его по умолчанию.

1 голос
/ 18 сентября 2009

Существует также предварительный просмотр профиля клиента * .NET Framework , который должен уменьшить размер загрузки .NET Framework до 28 МБ. Включает WPF.

1 голос
/ 18 сентября 2009

Это может быть проблемой для пользователей с медленными сетевыми подключениями. Одно из решений состоит в том, чтобы ограничить разработку, чтобы она не использовала более новые функции (именно это я и делаю), и предоставить ссылку на среду выполнения .NET 2.0 на веб-странице с инструкциями по установке вашего приложения. Это будет хорошо работать для Windows Forms (хотя будет невозможно использовать WPF и некоторые новые языковые функции).

0 голосов
/ 18 сентября 2009

Если автономная установка .NET не требуется, тогда можно использовать онлайн-установщик и фактический размер загрузки будет ниже 60 мегабайт (в зависимости от того, сколько уже установлено).

0 голосов
/ 18 сентября 2009

Сделайте так, чтобы клиенты могли загружать фреймворк размером 1 ГБ:).

А если серьезно, поскольку XP и все вышеперечисленные версии поставляются с предустановленным .NET, о чем вы беспокоитесь?

На данный момент вы можете просто настроить таргетинг на .NET 2.0 (если только он не зафиксирован в WPF) и после того, как 3.5 наберет достаточную популярность, переключиться.

0 голосов
/ 18 сентября 2009

Хорошо, позвольте мне задать этот глупый вопрос. Почему вы ограничены автономным клиентом рабочего стола, а не веб-приложением? Вы можете делать модные вещи, используя Silverlight. У одного из клиентов, с которым я работал, есть отдельный клиент на рынке, но в конечном итоге он хочет перенести его в Интернет, поскольку ему тоже нужны пользователи Mac.

0 голосов
/ 18 сентября 2009

Я не думаю, что это решающий фактор, в большинстве случаев. Я полагаю, что в Vista уже есть .NET 3.0. Кроме того, Java находится в одной лодке (требуется JRE), и я не знаю ни одного программного обеспечения, которое действительно страдало от «накладных расходов» на загрузку платформы времени выполнения, как Java или .NET.

Я твердо верю, что эти платформы лучше воспринимать как де-факто стандарты; Так много приложений требуют их в настоящее время; скорее всего, большинство ваших потенциальных пользователей уже установили их.

...