Программирование Silverlight / WPF с навыками Windows Forms - PullRequest
3 голосов
/ 13 декабря 2010

В какой степени можно программировать Silverlight / WPF с навыками Windows Forms?

В какой степени можно разрабатывать внутренние приложения в стиле, аналогичном Windows Forms?


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

Я знаю, что Silverlight / WPF предлагает гораздо больше, но в основном для "модных" вещей в стиле веб, а также для возможности более высокого SoC через паттерн MVVM.

Ответы [ 5 ]

3 голосов
/ 13 декабря 2010

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

Что это говорит мне о том, что «я прочитал эту технологию, которую вы используете, и не имею опыта работы с ней, но это не помеха моему формированию мнения об этом, которое вам придется изменить».

3 голосов
/ 13 декабря 2010

Да, вы определенно можете начать работать над WPF / SL, и ваш опыт работы с WinForms будет полезен, но я не согласен, что этого будет достаточно.

Интересно, что большинство разработчиков, работающих в WPF в настоящее время, в основном имеют опыт работы с WinForms (согласно моему опыту), и большинство из них считают, что WPF не сильно отличается от WinForms, и они пытаются разработать приложение WPF, применяя ту же проблему методы решения, концепции и методологии; Здесь начинаются все проблемы.

Я бы посоветовал вам сначала просмотреть книгу WPF / SL (хотя бы первую половину), а затем, пока вы работаете над приложением WPF / SL, попробовать и использовать новые концепции ( XAML , Binding, Commands, DependencyProperty, Styles, Triggers и т. Д.) Для решения любой проблемы, с которой вы столкнулись (, даже если вы можете легко решить / реализовать ее по-старому ).

Некоторые могут не согласиться с этим, но я видел, как мои друзья реализовывали почти все (в WPF) способом WinForms и позже жаловались на утечки памяти, производительность и т. Д.

2 голосов
/ 13 декабря 2010

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

Я бы порекомендовал вам взглянуть на пост Пита Брауна " 10 вещей, которые нужно знать разработчикам Silverlight и WPF ", чтобы узнать, с чего начать. Я также рекомендовал бы его книгу Silverlight 4 в действии , чтобы на самом деле развить эти навыки с нуля.

1 голос
/ 13 декабря 2010

Я бы сказал, что существует большая разница между независимой разработкой приложений и работой в команде, которая все знакома с Silverlight / WPF. Совершенно верно, что вы можете спроектировать пользовательский интерфейс с помощью перетаскивания, назначить свойства с помощью визуального дизайнера, а затем написать весь необходимый код в среде на основе XAML и едва заметить разницу между ним и используемым интерфейсом Winforms. к. Несомненно, что другим будет процесс работы с другими людьми, знакомыми со всеми концепциями и шаблонами, которые стали стандартными в мире WPF / Silverlight: привязка, команды, стили, свойства зависимости и т. Д. Если ваша работа нуждается чтобы интегрироваться с их, у вас возникнет проблема, если вы проигнорируете различия в двух платформах.

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

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

Было бы ошибкой думать, что опыт Winforms «достаточно хорош» в большинстве случаев, когда требуется программист Silverlight / WPF, точно так же, как опыт C ++ не «достаточно хорош», если мне нужен опытный C # программист. Существует достаточно различий концептуально , что вам нужно показать, по крайней мере, готовность изменить парадигму и, возможно, некоторое знакомство с концепциями, которые являются ключевыми для новой технологии. Тем не менее, хороший код - это хороший код, и я не думаю, что кто-то должен быть уволен из-за отсутствия опыта работы с конкретной технологией.

0 голосов
/ 13 декабря 2010

Ваше первое wpf-приложение неизбежно будет похоже на приложение winforms. Насколько я понимаю, это нормально. Но есть люди, которые убили бы вас, если бы обнаружили, что вы создали приложение из 30 диалогов без использования MVVM :)
В любом случае ... у вас есть ваш первый проект WPF, который будет завершен ... вы, вероятно, в конечном итоге будете писать код, как его winforms (код позади heavy).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...