Сначала изучите Silverlight или WPF? - PullRequest
23 голосов
/ 14 сентября 2008

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

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

Ответы [ 9 ]

28 голосов
/ 16 сентября 2008

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

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

-jesse


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

14 голосов
/ 14 сентября 2008

Я бы сказал, сначала зайдите с Silverlight!

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

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

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

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

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

7 голосов
/ 16 сентября 2008

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

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

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

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

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

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

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

5 голосов
/ 14 сентября 2008

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

4 голосов
/ 16 сентября 2008

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

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

  1. 1008 * Шаблонирование *
  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), а не для плагина и технологии пользовательского интерфейса для конкретной ОС.

2 голосов
/ 15 сентября 2008

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

2 голосов
/ 14 сентября 2008

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

1 голос
/ 16 сентября 2008

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

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

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

0 голосов
/ 14 сентября 2008

Несколько советов по Начало работы с Silverlight Development

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