2010-04-28 2 views
15

Я только что закончил два приложения WinForm как часть интенсивного курса. Просто интересно о технологии в целом ... следует ли мне перейти на что-то новое или WinForms по-прежнему жизнеспособны в будущем?Является ли изучение WinForms целесообразным? Это устарело?

+0

** WPF **. 'Достаточно. (Кроме того, это может быть лучше подходит для StackOverflow). – squircle

+9

Есть правительственные учреждения, которые все еще находятся на VAX и/или используют COBOL. Просто потому, что он «старый» не означает, что он не используется. –

+0

прохладный. Я думал, что могу обидеть людей в StackOverflow, разместив это. Хорошо знать. – RedEye

ответ

12

Я бы сказал, что 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 на компьютер пользователя проста, проста и дает вам дополнительное преимущество при использовании всего существующего кода и автоматического обновления.

+1

Просто любопытно ... Может ли Silverlight APP работать на mac/os? – RedEye

+1

@RedEye Да. У нас есть приложение Silverlight в финальной бета-версии, которое было протестировано на Safari (как на ПК, так и на Mac), а также на Chrome, IE, FF и т. Д. На ПК. Прекрасно работает. –

+0

Thats прохладно. Спасибо, Майкл. – RedEye

2

Все зависит от того, где вы работаете и над чем работаете.

Если вам удастся получить работу там, где они разрабатывают что-то новое, тогда ответ будет «нет», поскольку я надеюсь, что они будут использовать WPF или Silverlight.

Если вы получаете работу там, где они поддерживают существующее приложение, тогда ответ будет «да» - даже если они преобразуют его, поскольку вы будете поддерживать старое приложение на некоторое время.

3

Я бы сказал, что WinForms хорошо знать, но я бы потратил больше времени на WPF. WPF имеет сходство с Silverlight, и это даст вам больше возможностей для работы.

Это, как говорится, это никогда не помешает, чтобы узнать больше :)

2

Обе технологии имеют свои strenghs и слабость.

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

В любом случае, поскольку WPF, XAML и все другие связанные технологии являются чистыми продуктами Microsoft, язык, такой как Delphi, и другие могут потребоваться время, прежде чем использовать их, поэтому Winform должны оставаться, по крайней мере, в течение нескольких лет.

Я знаю оба, и я использую оба в зависимости от проекта, который я делаю. Я должен признать, что я предпочитаю WPF для большинства проектов.

2

Хорошо, если вы удивительны с цветами и пользовательским интерфейсом :) WPF для вас.

Если, с другой стороны, вы похожи на меня, и вы можете распознавать только 8-битные цвета: P вы сможете использовать WinForms много. У этого преимущества есть преимущество над WPF, что вы можете запускать приложение, не задумываясь о пользовательском интерфейсе, и он будет по-прежнему использоваться и хорошо выглядеть.

WPF дает вам большую силу, и с большой силой приходит большая ответственность.

+2

Я даю -1 для липкого комментария, но эй, он тоже стоил мне репутации :) –

+1

Хорошо, система работает так: P P.S. Мой комментарий исходит из личного опыта. Я обычно работаю один. Там нет хороших и дешевых тем WPF.В прошлый раз, когда я пытался сделать свое приложение довольно, я потерял 3 часа, чтобы настроить материал. Вся логика для приложения заняла всего 1 час. Сначала мне было бы лучше с WinForms. WPF отлично, если у вас есть глаза на цвета, хорошие темы или дизайнера. Если вы просто хотите быстро написать функциональное программное обеспечение - по крайней мере, на данный момент WinForms очень полезны. – kyrisu

1

Для изучения требуется очень мало времени, поэтому я считаю, что это действительно того стоит. Шаблон, который использует WinForms, также используется многими другими фреймворками, поэтому вы ничего не потеряете, изучив его.

А также, WPF, возможно, проще, если у вас есть какая-то основа.

1

Я бы сказал, что если вы только начинаете, WPF, вероятно, сосредоточить ваши энергии. Тем не менее, я в настоящее время работаю над проектом Winforms и в прошлом году начал работать 2 новых, и он работает отлично.

5

Знакомство с WinForms поможет вам. Устаревшие приложения будут использовать их, и если вы работаете в магазине Microsoft, вы столкнетесь с устаревшими приложениями. Вы также должны узнать что-то новое, потому что это просто часть программиста. То, что вы знаете сейчас, является основой того, что вы узнаете. Никогда не прекращайте учиться, или вы закончите, как парень степлера в Office Space.

+2

Вы имели в виду, что «там (возможно) будет какое-то время в будущем, когда приложения WinForms будут считаться устаревшими приложениями». –

2

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

+1

Возможно, быстрый и простой способ прототипа? – RedEye

+1

Определенно полезно для быстрой разработки приложений. – ulty4life

2

Не покупайте все шумихи. Мой клиент продолжает требовать разработки WinForms. Мы скоро начнем новый проект, и это WinForms, C#, NHibernate. Правильно, это не Web, javascript, ajax, cloud, metro, WPF, silverlight, blah blah.

Обоснование простое - почему на Земле тратить вдвое больше усилий на WPF, когда нам нужно потратить время на таргетинг платформ для соревнований. Пространство GUI полностью фрагментировано. WPF НИКОГДА не будет кросс-платформенным, а часы, потопленные в миниатюре WPF, уменьшают вероятность поддержки Cocoa Linux. Кроме того, похоже, что Microsoft сбросила WPF в пользу удивительного Javascript и сложного HTML 5.

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

IMO есть пространство для вилки WinForms 3, с открытым исходным кодом и с глазом для надлежащей кросс-платформенной поддержки.

+0

Ключ к этой структуре: https://github.com/picoe/Eto –

0

Многие компании находят, что испытывают трудности с переносом своего решения на веб-сайт. Компании используют технологии виртуализации, такие как Citrix и App-V, для доставки своего программного обеспечения через Интернет без необходимости разработки новых решений.

Если вы уже делаете ASP.NET, было бы довольно легко изучить WinForms.

Смежные вопросы