Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

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

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

-jesse


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

Ответ 2

Я бы сказал сначала с Silverlight!

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

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

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

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

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

Ответ 3

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

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

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

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

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

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

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

Ответ 4

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

Ответ 5

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

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

  • Шаблонирование
  • DataBinding
  • Стили

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

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

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

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