Как начать программировать с использованием WPF или Silverlight: Путь обучения для новичков

Автор оригинала: Pete Brown
  • Перевод
Итак, вы новичок в WPF или Silverlight и желаете знать с чего вам начать? Здесь описан мой путь изучения “Как начать с WPF и Silverlight”. Я предполагаю, что вы знаете что из себя представляют эти технологии (на высоком уровне), но не знаете как использовать их.

1. Настройка своего окружения


Первым делом вам необходима Visual Studio 2010. На момент написания, она была в версии RC, но ожидается совсем скоро релиз [прим. пер.: в апреле ожидается официальный запуск]. Visual Studio 2010 включает неплохой XAML редактор, который на порядок лучше, чем был в Visual Studio 2008(XAML – язык разметки, который используется WPF и Silverlight для описания UI). Кроме того, если вы ориентируетесь на Silverlight 4+, вам необходима VS 2010. Между прочим, оболочка Visual Studio 2010 была полностью написана на WPF. Конечно, вы можете использовать бесплатную редакцию Visual Studio для разработки для Silverlight или WPF.
Expression Blend для начинающих может быть излишним, но со временем вам может понадобится, если вы планируете заниматься работой связанной с пользовательским интерфейсом или анимацией. Blend работает с обеими технологиями. Это ориентированный на дизайнера инструмент, который внешне немного отличается от Visual Studio. Я бы не стал устанавливать Blend сразу, а дождался момента, когда он действительно понадобится.
Вы также можете посмотреть мою статью о необходимых WPF/XNA/Silverlight инструментах для дизайнера и разработчика, чтобы знать какие инструменты могут также быть вам полезны.

2. Изучите один или более Туториалов.


Различные блоги и сайты сообществ содержат прекрасную стартовую информацию.

Многое доступно на стартовых страницах. Страница Silverlight современнее, по сравнению с WPF. Мы работаем над этим.

3. Возьмите хорошую книгу.


Некоторым людям проще изучить что-либо прочитав книги. Если вы один из них, этот раздел для вас.
  • Моя любимая книга на данный момент по WPF — Windows Presentation Foundation Unleashed. Adam Nathan. На сегодняшний день, книга немного устарела, но концепция все еще актуальна. Адам работает над версией WPF4.
  • Вы можете получить ранний (электронный) релиз  моей книги по Silverlight 4. Эта книга для людей которые написали изрядное количество кода, но необязательно знакомы с Silverlight.

4. Следите за этими блоггерами


Блоги – это лучшее, что появилось в сообществе разработчиков со времен usenet. В них содержится много полезной информации, также как и множество плохой. Поэтому, я рекомендую вам начать с этих блогов.
  • Мой блог. Кроме туториалов, я еженедельно размещаю список ссылок на WPF, XNA, Windows Phone и другие клиентские технологии.
  • Tim Heuer — PM Silverlight.
  • Jesse Liberty — PM Silverlight. Он публикует тонны отличного контента для новичков. Jesse и я работаем со Скоттом Хансельманом в одной команде сообщества.
  • Mike Taulty имеет множество прекрасного контента о WPF и Silverlight в своем блоге.
  • WynApse, создатель Silverlight Cream. Он ежедневно размещает информацию о том, что произошло интересного в мире Silverlight.

5. Присоединитесь к этим сообществам


После преодоления этапа становления, вы начнете расти быстрее, если будете взаимодействовать с сообществами.

6. Создайте простое стартовое приложение


Начните с HelloWorld-приложений, аналогичных в демо. Некоторые начинают с твиттер клиента, но я не рекомендую, если вы только реально не подвержены этой идеи. Причина, по которой многие люди разочаровываются при изучении новых технологий, – выбор очень сложного начального приложения.Начните с малого и разрабатывайте итерациями. Вы будете перемещаться по контрольным точкам, которые будут вас стимулировать и отражать ваш прогресс. Для примера, возьмите окно или страницу, затем разместите несколько полей, настройте навигацию (если необходимо), затем позаботьтесь о подключении к источнику данных. Отрефакторите весь пройденный путь, так у вас будет что изучать и чем гордиться.

Упражняйтесь в привязке данных для вашего приложения. Binding – это сердце Silverlight и WPF.

Ах да, вспомнил, только потому, что вы работаете с WPF/Silverlight не значит, что вам нужно делать пользовательский интерфейс слишком сложным. Взгляните на различия Visual Studio 2010 и Visual Studio2008. Это мелкие различия, а не полная смена внешнего вида.

7. Wash, Rinse Repeat


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

8. Только после всего беспокоиться о Паттернах и Практиках.


Вы слышали многое о MVVM/ViewModel, MVP, Inversion of Control, TDD и других. Все эти вещи очень интересны для изучения, но сначала — основы. После изучения новой технологии, люди часто заблуждаются, что они могут разрабатывать проекты на уровне выбранной технологии. Помните, несмотря на то что вы изучили, вы по-прежнему новичок в этой конкретной технологии.

Знаете другие подходы, которые помогли вам при старте? Сообщите мне в комментариях.

Примечание переводчика:
Оригинал: How to Get Started in WPF or Silverlight: A Learning Path for New Developers
Отдельная благодарность Сергею Звездину, за помощь при переводе.
Поделиться публикацией

Комментарии 22

    +5
    Очень интересно, спасибо. Добавил в избранное.
      +3
      Когда наконец доберусь до них (WPF и Silverlight), обязательно воспользуюсь вашей инструкцией.
        0
        Спасибо за статью. При начальном изучении технологий частенько не хватает подобных «инструкций», руководствуясь которыми можно смело браться за дело.

        Да и желающие ознакомиться с технологиями в общих чертах могут бегло прогуляться по ссылкам.
          0
          Статья не моя… :)
            0
            Я к тому, что инструкция хороша для старта. Вы первый высказали, я — добавил.
        +2
        интересная статья. Особенно в свете WM7.
          +4
          www.wpftutorial.net/ не плохой -)
            +1
            Ошибочка, пропущена «X» — AML – язык разметки, который используется WPF и Silverlight для описания UI
            Поправьте пожалуйста.

            За статью — спасибо!
              0
              Действительно не углядел, спасибо :-)
              +3
              Спасибо за статью=),
              что касается ресурсов, то я бы еще посоветовал:
              silverlighter.ru
              www.techdays.ru (с тегами Silverlight и WPF)
                +3
                Недавно на просторах ру-интернета также появился msslight.ru/
                  0
                  ооо как вы вовремя! Очень полезный ресурс. Спасибо! :)
                +2
                И еще ребят, если среди нас студенты как я,
                то советую воспользоваться программой dreamspark и взять себе лицензию на Expression Studio и на саму VS. Для обучения самое оно=)
                  0
                  Пользуясь случаем, хочу спросить у сведущего человека: а как сейчас обстоят дела с мастерами-визардами заготовок приложений для WPF?

                  Поясню вопрос. Некоторое время назад хотел начать новый проект на WPF, но обнаружил, что WPF от привычного мне MFC отличается отсутствием возможности сгенерить парой кликов приложение, у которого будет интерфейс (и связанный с ним функционал), отвечающий всем корпоративным стандартам (которые и не в корпоративной среде всем понятны и привычны) — меню с работающими командами открытия файлов и т.п., горячие клавиши, подсказки, статусбар с реакцией на команды, диалог about и т.д.

                  Новая версия MFC с офисоподобным интерфейсом совсем неплоха, вполне современно выглядит. Уже можно сделать нечто типа Visual Studio, насоздавать кучу докинг-панелек (с весьма богатыми возможностями интерактивного размещения), окна документов с цветными табами и т.п.

                  Это только внешне, а ведь есть ещё архитектура… Даже в том, что касается команд, в WPF ещё не всё устаканилось на момент моего эксперимента. Понятие «документ» вообще отсутствовало как класс, в буквальном и в переносном смысле.

                  Только не говорите, что это всё устарело и никому не нужно. Потому что я разыскал в инете множество заготовок проектов на WPF, авторы которых пытались заполнить эту брешь. С разной степенью глючности, не говоря уже о бедности функционала… И ведь такие вещи существуют не только в MFC. В QT старом тоже такое было (новый не пробовал), создавал парой кликов неплохие заготовки в KDevelop.
                    0
                    На intuit.ru есть неплохая серия из 6 видео-лекций с введением в WPF:
                    www.intuit.ru/department/se/devwpf/
                      0
                      Технология кончено хорошая, решил поглядеть на XAML когда только про него начал говорить, ничего не понял и успокоился. А так как работа не требовала пропустил VS 2008, решил взяться за освоение на VS 2010 Beta 1, купил книгу, очень понравилась технология. Но вот опять же надо читать, нашел утилиту на WPF, которая использует процессорные попиксельные эффекты, я так и не понял какой же проц нужен, чтобы она не тормозила.

                      По поводу архитектуры Документ-Вид или подобных, хотелось бы сказать, что здесь и не надо вообще. В MFC да, это не мешает из-за того, что довольно громоздкий код. А что в Forms, что в WPF это не надо. в .NET вообще не сложно свою работу с подобными архитектурами организовать.
                        0
                        BitmapEffect вообще не рекомендуется использовать, ну только если уже очень хочется, т.к. он реально медленный.
                        Если нужен какой-то эффект, то надо написать специальный ShaderEffect, который выполняется на видеокарте.
                        Вот очень удобная тулза для создания таких эффектов wpfshadergenerator.codeplex.com/
                        Она сама генерируется весь code behind, от программиста требуется только написать код пиксельного шейдера и подключить его к контролу.
                        0
                        Только сегодня думал, что надо бы покопать в сторону WPF и прикидывал с какого боку надкусывать этот пирожок. А тут прям мысли мои прочли )) Поставил бы плюс, но хабр грит незя.
                          0
                          Я учился вот по этой серии статей:
                          sachabarber.net/?p=132
                          Автор переходит сразу к делу, а не растекается мыслью по древу. ИМХО лучше всяких книжек.
                            0
                            Опечатка: "… для начинающих может быть излишнем" — излишнИм
                              0
                              Спасибо, поправил
                            • НЛО прилетело и опубликовало эту надпись здесь

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

                              Самое читаемое