Вопрос

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

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

Это было полезно?

Решение

Стоит ли вам сначала изучить 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!

Я уже программировал с помощью WPF и Silverlight.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Создание шаблонов
  2. Привязка к данным
  3. Стили

Обновить:07/2011

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top