Windows Forms будут удерживаться от использования в пользу WPF? [закрытый]

Вместо просмотра всех опций вы можете перейти к 3.4.3 Short Options Cross Reference командой info tar.

x означает --extract. v означает --verbose. f означает --file. z означает --gzip. Вы можете комбинировать однобуквенные аргументы вместе, и f принимает аргумент, имя файла. Есть кое-что, на что вам следует обратить внимание:

Буквы коротких опций могут объединяться, но вы не обязаны это делать (по сравнению со старыми опциями; см. Ниже). Когда короткие опции объединяются в набор, используйте одну (одну) черту для них всех, например, '' tar '-cvf'. Только последний вариант в таком наборе может иметь аргумент (1).


Этот старый способ написания опций tar может удивить даже опытных пользователей. Например, две команды:
 tar cfz archive.tar.gz file
 tar -cfz archive.tar.gz file

совершенно разные. Первый пример использует «archive.tar.gz» в качестве значения параметра «f» и распознает параметр «z». Второй пример, однако, использует 'z' в качестве значения для опции 'f' - вероятно, не то, что предполагалось.

19
задан Peter Mortensen 20 September 2011 в 18:20
поделиться

7 ответов

Это частично аргументированный аргумент, а частично задушевная напыщенная речь ....

WinForms основан на технологии user32 / GDI, существовавшей с зарождения современной Windows. Он никуда не денется во всех смыслах этого слова: он не получит новых функций; он не получит поддержки.

Или, может быть, еще будет. API построения диаграмм в .NET 4.0 является новым и написан для GDI, а не WPF.

В целом история Microsoft с новыми технологиями выглядит следующим образом:

  1. Изобретайте новый API.
  2. Создавайте инновации с помощью этого API. для 2 или 3 продуктовых циклов.
  3. Поймите, что продолжение инноваций означает необоснованные уступки обратной совместимости или понимание того, что технология изначально не решала.
  4. Изобретайте новый API, оборачивая или оставляя существующий API. Существующий API не исчезает, но и новые вещи его не используют.

RDO -> DAO -> ADO -> ADO.NET -> LINQ to SQL -> Entity Framework, добавьте немного ODBC .. ... есть сокровищница "мертвых" и обернутых технологий, которые можно использовать и которые существуют сегодня. Это технологии доступа к данным, но применима та же идея; Фреймворки пользовательского интерфейса служат немного дольше, потому что они являются наиболее заметными областями приложений.

Если я надену шляпу Nostradomus, я могу с уверенностью сказать, что когда .NET, о, 6.0 выйдет в 2015 году, что звучит далеко, но так же близок, как и мы, к 2003 году - WPF будет таким же «мертвым», как Windows Forms, потому что будет создан какой-то другой изящный управляемый интерфейс, который сглаживает все еще не обнаруженные ошибки и неудобства WPF. Какая разница? Все, о чем мы сегодня болтаем, к тому времени будет устаревшим. (Что-то в любом случае придется уступить в .NET 5.0, потому что фреймворк становится комично большим.)

Во всяком случае, в Windows Forms есть то, что он основан на технологии, которая существовала уже давно. десятилетие, и эта инерция не исчезнет в ближайшее время: браузер, который вы вводите, использует GDI, панель задач использует GDI, ваше приложение для обмена мгновенными сообщениями использует GDI, новый элемент управления Ribbon в Windows 7 использует GDI, принтер за 60 долларов сидя за столом, вы используете драйвер принтера GDI, приложения Windows CE, работающие на вашем телефоне, запускают порт Windows Forms и GDI, новое средство просмотра событий в Windows Vista использует Windows Forms, За платформой Windows Forms стоит большое сообщество сторонних компонентов - WPF - это очень маленький, нишевый продукт, который существует только в управляемом мире, который сам по себе меньше, чем его неуправляемый аналог.

С этой целью я считаю, что все эти дискуссии «WinForms против WPF» раздувают вещи; эти технологии не являются взаимоисключающими или уступающими / превосходящими, как бы ни убедил нас маркетинг Microsoft, и разработчики Microsoft достаточно умны, чтобы это понимать. Они просто разные, и один из них старше. Если бы мы не рассматривали это периодически, мы бы все послушали Gartner в 2005 году и полностью прекратили создание приложений Windows и переместили все на AJAX в Интернете ... с нашими интерфейсами SOA ... которые открывают альтернативный интерфейс REST ... . которые используют модель TDD DDD на этом бэкэнде ... абстрагируются от базы данных с помощью ORM.

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

WPF - это часть будущего, конечно, но это не будущее. Лично я нахожусь на заборе, чтобы увидеть, "делает ли WPF" в ​​смысле технологии пользовательского интерфейса то, чего не было в предыдущих технологиях доступа к данным, хотя Visual Studio, принявшая его в 2010 году, является довольно утешительным признаком того, что Microsoft действительно серьезно относится к этому.

Подводя итог: если вы создаете LOB-приложение, я бы не чувствовал себя виноватым за использование WinForms. Если вам нужен расширенный сценарий макета, взаимодействие с WPF всегда доступно для вас, так же, как иногда улучшают обычный веб-сайт с помощью объекта Flash. Но для всего остального вы обязаны своему клиенту придумать вескую причину для перехода всей команды и оболочки на WPF; У Windows Forms есть свои проблемы, но половина битвы с любой платформой - это знать, каковы проблемы и ограничения , и большая часть мира (включая Microsoft) все еще изучает WPF.

53
ответ дан 30 November 2019 в 02:07
поделиться

WinForms не будет устаревать, пока Win32 не станет ... что может произойти когда-нибудь!

(Помня, что WinForms - это, по сути, абстракция над Win32)

WPF, с другой стороны, имеет несколько прямых зависимостей от Win32, поэтому потенциально может стать основой для слоя пользовательского интерфейса «нового старта» в будущей версии Windows. В этот момент я бы предположил, что Win32 (и, следовательно, WinForms) будет полностью исключен и доступен только через виртуализацию. Как я уже сказал, это может быть скоро :)

5
ответ дан 30 November 2019 в 02:07
поделиться

Политика поддержки Microsoft для .NET Framework и всех классов в ней составляет 5 + 5: 5 лет основной поддержки после выпуска, а затем доступны 5 лет расширенной поддержки или плата .

С обновлением .NET 4.0, включающим все компоненты WinForms, выпущенным в 2009 году, вы получите 5 лет основной поддержки, вплоть до 2014 года, для любого приложения WinForms, построенного на .NET 4.0.

Скорее всего, все, что появится после .NET 4.0, также будет включать WinForms, и в этом случае часы сбрасываются.

Эта политика 5 + 5 применяется ко всему программному обеспечению бизнес-инфраструктуры: Windows, Windows Server, SQL Server, Visual Studio, .NET и так далее.

Дело в том, что вам не придется беспокоиться об отсутствии поддержки WinForms.

Но предыдущие плакаты верны - улучшения идут в WPF.

4
ответ дан 30 November 2019 в 02:07
поделиться

Я бы не стал особо беспокоиться о долгосрочной поддержке. WPF, возможно, в последнее время получает всю любовь, но существует слишком много кода WinForms, чтобы отказаться от поддержки. В конце концов, даже MFC все еще получает обновления с каждым выпуском Visual Studio.

2
ответ дан 30 November 2019 в 02:07
поделиться

Я бы точно не назвал WinForms мертвым ... но я бы также не стал писать в нем новый проект. Я бы писал все новые проекты с использованием WPF по множеству причин. Самое главное, что если вы используете WPF / XAML, ваши усилия по переносу на Silverlight будут намного проще.

0
ответ дан 30 November 2019 в 02:07
поделиться

Я думаю, что Windows Forms по-прежнему будет поддерживаться Microsoft, но улучшать ее будут лишь незначительно. Все самые горячие нововведения перейдут в WPF. Windows Forms находится в том же положении, что и LINQ to SQL . LINQ to SQL - это жесткий, компактный и быстрый ORM , который великолепен, но Microsoft делает ставку на Entity Framework .

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

Если вам нужно приложение, которое будет (более) легко переноситься между веб-интерфейсом, интерфейсом WPF или интерфейсом Silverlight (или даже Flex), Windows Forms, вероятно, подойдет. не для тебя. Эти другие интерфейсы используют разметку на основе стандартов,

1
ответ дан 30 November 2019 в 02:07
поделиться

Пару лет назад я посетил лагерь предварительного просмотра WPF в Редмонде и задал тот же вопрос одному из людей, работающих над Crossbow (WPF / Windows Forms взаимодействие). Он ответил, что Windows Forms будет поддерживаться в обозримом будущем, но не может дать никаких гарантий.

Учитывая это, я думаю, вы будете в порядке, создавая свое приложение на Windows Forms, зная, что у вас будет некоторый уровень поддержки для следующая или две версии .NET (например, 3-5 лет).

Я лично готов поспорить, что ближе к 10 годам, учитывая продолжающуюся поддержку Microsoft Win32. Вы можете не получать много новых функций с каждым выпуском, но и вас не упадут.

В любом случае, меня больше беспокоит переход Microsoft от технологий с расширенными клиентами к веб-технологиям,

0
ответ дан 30 November 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: