Сначала изучите Silverlight или WPF?

Кажется, что Silverlight / WPF - это долгосрочное будущее для разработки пользовательского интерфейса с .NET. Это здорово, потому что я вижу преимущество повторного использования навыков XAML как на стороне клиента, так и на стороне веб-разработки. Но, глядя на WPF / XAML / Silverlight, они кажутся очень крупными технологиями, так что с чего лучше всего начать?

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


person Phil Wright    schedule 14.09.2008    source источник


Ответы (9)


Стоит ли сначала изучить ASP.NET или Winforms? ASP или MFC? HTML или VB? C # или VB?

Отбросьте идею о логическом развитии того, что превратилось в очень сложный переплетенный набор технологий, сделайте шаг назад и задайте себе ряд вопросов:

  • Каковы твои цели; как вы хотите сбалансировать прибыль и удовольствие
  • Вы ориентированы на краткосрочную перспективу или рассчитываете на долгую жизнь?
  • Вы относитесь к тому типу людей, которые любят что-то хорошо делать и делать это много, или вам становится скучно, когда вы полностью это понимаете?

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

Я могу рассказать вам только свою историю быстро. В 2000 году я был счастлив как консультант, успешно работая на C ++ над приложениями Windows, писал об ASP.NET и WinForms. потом я увидел C #, и мир перевернулся. Я больше не вернулся.

Два года назад у меня было такое же откровение, только на порядок больше, сильнее и с большей убежденностью в отношении Silverlight. Да, WPF великолепен, и, может быть, я весь мокрый по этому поводу, но я нутром верю, что Silverlight все меняет. Тогда не было сомнений и нет сомнений сегодня, что Silverlight является самой важной платформой разработки для Microsoft со времен .NET (определенно) и, возможно, с момента перехода на C ++.

Вкратце, вот почему. Я не понимаю, в чем его ограничения. На большинстве платформ я так и поступаю: вы можете это сделать, но не можете. WPF - довольно хороший тому пример, как и ASP.Net, WinForms и, ну, действительно, все до сих пор.
С Silverlight я еще не вижу границ. Silverlight уже перешел с настольных компьютеров на телефоны, и я не вижу причин останавливаться на достигнутом. Да, это правда, он привязан к браузеру, но я вижу это не столько как тюремную камеру, сколько как танк, в котором Silverlight будет ездить по большой местности (должно быть, очень поздно, мне нужно лечь спать).

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

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

-джесси


Джесси Либерти, "Silverlight Geek"

person Jesse Liberty    schedule 16.09.2008
comment
Если вы не видите то, что вам нужно, можете крикнуть мне ‹holler› в поддержку TIFF! ‹/holler› - person mbeckish; 27.01.2009

Я бы посоветовал сначала перейти на Silverlight!

Раньше я программировал с WPF и Silverlight.

Но поскольку Silverlight является подмножеством WPF, если вы войдете слишком глубоко и попытаетесь переключиться на написание приложений Silverlight, вы будете ломать голову в поисках того «тега», который вам полюбился в WPF, но недоступно в Silverlight.

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

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

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

person chakrit    schedule 14.09.2008
comment
Спасибо за ответ, я воспользуюсь вашим советом и сначала попробую Silverlight. - person Phil Wright; 25.09.2008

Я иду против течения и рекомендую сначала изучить WPF.

Вот мои рассуждения:

  • Для WPF доступно гораздо больше ресурсов, чем для Silverlight, таких как книги, блоги и документация по msdn.

  • Вы не имеете дело с бета-движущейся целью

  • Вам не нужно иметь дело только с асинхронными вызовами

  • Не ограничивается отсутствием таких функций, как объединенные словари, триггеры, TileBrushes и т. Д.

  • Вам не нужно беспокоиться о том, чтобы заново научиться делать что-то правильно из-за недостатка функций в SL.

person Alan Le    schedule 15.09.2008

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

person kokos    schedule 14.09.2008

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

Silverlight легок и позволяет вам работать с меньшим набором элементов управления и функций, так что вы можете получить представление об этой новой парадигме построения пользовательского интерфейса, основанной на:

  1. Шаблоны
  2. DataBinding
  3. Стили

Обновление: 07/2011

Ненавижу упоминать об этом, но в последнее время Microsoft уделяет больше внимания HTML5, Javascript и CSS, расширяя возможности IE 9 и IE 10, а также грядущей Windows 8.

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

Как сейчас кажется, летом 2011 года будущее может выглядеть фрагментированным с большим количеством возможностей для чистых веб-технологий (HTML5, JS и CSS), в отличие от плагинов и технологий пользовательского интерфейса для конкретных ОС.

person Vin    schedule 15.09.2008
comment
+1 за обновление. Windows Metro уже имеет приоритет: msdn.microsoft.com/en-us/windows/ приложения - person PhillipKregg; 02.12.2011

Я бы начал с изучения XAML, прочитав несколько руководств и поэкспериментировав с XAMLPad. Это даст вам почувствовать основы, прежде чем создавать приложение.

person harriyott    schedule 14.09.2008

Я бы начал с WPF и сделал очень простые примеры ознакомления с элементами управления. Ваша цель должна заключаться в изучении XAML и Binding. Поэтому, если вы просто создадите несколько базовых оконных приложений WPF, скорость вашего обучения увеличится. Тогда, в конце концов, вы сможете перейти на silverlight. Да, как упоминалось здесь, Silverlight - это подмножество WPF.

person Jobi Joy    schedule 15.09.2008

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

Это действительно зависит от вас. Однако я бы сказал, что silverlight еще не RTM, а WPF - это. У WPF есть много книг по этой теме, а у silverlight - нет. Возможно, будет проще получить весь Дзен WPF, прочитав несколько из этих книг, а затем погрузиться в ту, с которой вы хотели бы поиграть.

Просто имейте в виду, что silverlight имеет подмножество элементов управления WPF, спаренную структуру .Net и не выполняет синхронных вызовов. Если вы знаете это заранее, вы можете начать изучать суть всей основы и впоследствии адаптировать свой практический опыт к той технологии, которая вам больше подходит.

person Charles Graham    schedule 15.09.2008

Несколько советов см. На странице Начало работы с Silverlight Development

person prakash    schedule 14.09.2008