Является ли обучение WinForms стоящим? Это устарело?
Я только что закончил два приложения WinForm как часть интенсивного курса. Просто интересно о технологии в целом... нужно ли переходить на что-то новое или WinForms по-прежнему жизнеспособны в будущем?
Ответы
Ответ 1
Я бы сказал, что Windows Forms отлично подходит для приложений с формами. WPF/Silverlight отлично подходит для анимационных и графических приложений.
Если вам нужно выполнить какую-либо работу с утилитой или создать инструмент, я не понимаю, почему Win Forms не могут служить этой цели. WPF может быть излишним, если вы действительно не хотите, чтобы он выглядел красиво. Кроме того, с WPF вам нужно изучить XAML, который не так прост или интуитивно понятен, как работать с дизайнером Win Forms.
Если вы являетесь веб-разработчиком или дизайнером, работа в WPF может показаться более похожим на создание веб-страницы, поскольку вы работаете в XAML и имеете мелкозернистый контроль над интерфейсом.
WPF/Silverlight также имеют отличные возможности привязки данных, а Silverlight может быть запущен из браузера, поэтому может быть даже полезно пропустить WPF для первой версии и сделать версию Silverlight. SL для WPF гораздо проще переносить, чем WPF на SL (поскольку SL является подмножеством WPF).
В моем проекте, над которым я работаю, это будет сделано только в SL4 из-за возможности запускать его из браузера, как если бы это было настольное приложение, что избавило от необходимости переносить его в WPF. Установка приложения Silverlight на компьютер пользователя проста, проста и дает вам дополнительное преимущество при использовании всего существующего кода и автоматического обновления.
Ответ 2
Знакомство с WinForms поможет вам. Устаревшие приложения будут использовать их, и если вы работаете в магазине Microsoft, вы столкнетесь с устаревшими приложениями. Вы также должны узнать что-то новое, потому что это просто часть программиста. То, что вы знаете сейчас, является основой того, что вы узнаете. Никогда не прекращайте обучение, или вы окажетесь в роли оператора степлера в Office Space.
Ответ 3
Я бы сказал, что WinForms хорошо знать, но я бы потратил больше времени на WPF. WPF имеет сходство с Silverlight, и это даст вам больше возможностей для работы.
Это, как говорится, никогда не мешает узнать больше:)
Ответ 4
Все зависит от того, где вы работаете и над чем работаете.
Если вам удастся получить работу, где они разрабатывают что-то новое, тогда ответ будет "нет", поскольку я надеюсь, что они будут использовать WPF или Silverlight.
Если, однако, вы получаете задание, в котором они поддерживают существующее приложение, тогда ответ будет "да" - даже если они преобразуют его, поскольку вы будете поддерживать старое приложение на некоторое время.
Ответ 5
Обе технологии имеют свои сильные и слабые стороны.
Вы можете сделать некоторые реальные сложные элементы управления с помощью WPF, однако некоторые простые задачи сложнее сделать. Например, древовидные структуры в WPF могут быть сформированы так, как вы хотите, чтобы они были с какой-то работой, но простые вещи, такие как пунктирные линии между элементами, по умолчанию отсутствуют, и им действительно сложно заставить его работать (до сих пор не удалось).
В любом случае, поскольку WPF, XAML и все другие связанные технологии - это чистые продукты Microsoft, язык, такой как Delphi, и другие могут занять время, прежде чем использовать их, поэтому Winform должны оставаться, по крайней мере, в течение нескольких лет.
Я знаю оба, и я использую оба в зависимости от проекта, который я делаю. Я должен признать, что я предпочитаю WPF для большинства проектов.
Ответ 6
Хорошо, если вы удивительны с цветами и пользовательским интерфейсом:) WPF для вас.
Если, с другой стороны, вы похожи на меня, и вы можете распознавать только 8-битные цвета: P вы часто будете использовать WinForms. Это преимущество перед WPF, что вы можете запускать приложение, не задумываясь о пользовательском интерфейсе, - и он будет по-прежнему использоваться и хорошо выглядеть.
WPF дает вам большую силу, и с большой силой приходит большая ответственность.
Ответ 7
В добавлении всего, что было сказано, я думаю, что некоторые знания winforms всегда полезны для создания небольших игрушечных приложений или выброса таких вещей.
Ответ 8
Не покупайте все шумихи. Мой клиент продолжает требовать разработки WinForms. Мы скоро начнем новый проект, и это WinForms, С#, NHibernate. Это правильно, это не не Web, javascript, ajax, cloud, metro, WPF, silverlight, blah blah.
Обоснование простое - почему на Земле тратить вдвое больше усилий на WPF, когда нам нужно тратить время на таргетинг на платформы COMPETING. Пространство GUI полностью фрагментировано. WPF НИКОГДА не будет кросс-платформенным, а часы, потопленные в миниатюре WPF, уменьшают вероятность поддержки Cocoa, Linux. Кроме того, похоже, Microsoft выпустила WPF в пользу потрясающего Javascript и сложного HTML 5.
Лично я предпочитаю ориентированные на компоненты графические интерфейсы графического интерфейса поверх основанных на MVC фреймворках по той простой причине, что их проще и быстрее писать. Я не согласен с тем, что MVC - лучшая модель для всех графических интерфейсов. Да, он имеет свое место в мире, как в веб-разработке, где технология уровня представления продвигается вбок с самым низким общим знаменателем браузера.
IMO существует пространство для вилки WinForms 3, с открытым исходным кодом и с целью обеспечения кросс-платформенной поддержки.
Ответ 9
Для изучения требуется очень мало времени, поэтому я думаю, что это действительно того стоит. Шаблон, который использует WinForms, также используется многими другими фреймворками, поэтому вы ничего не потеряете, изучив его.
Кроме того, WPF, возможно, проще, если у вас есть какая-то основа.
Ответ 10
Я бы сказал, что если вы только начинаете, WPF, вероятно, сосредоточить ваши усилия.
Тем не менее, я в настоящее время работаю над проектом Winforms, и за последний год начал работать 2 новых, и он работает отлично.
Ответ 11
многие компании находят, что им приходится переносить свое решение на веб-сайт. Компании используют технологии виртуализации, такие как Citrix и App-V, для доставки своего программного обеспечения через Интернет без необходимости разработки новых решений.
Если вы уже делаете ASP.NET, было бы довольно легко изучить WinForms.