Обзор книги WPF 4.5 Unleashed

WPF 4.5 Unleashed

Книга написана в 2013 году Адамом Натаном(Adam Nathan) и представляет собой, наверное, самый полный учебник по WPF 4.5. Адам Натан является довольно продуктивным автором и выпускает книги, чуть ли ни быстрее, чем люди успевают их читать. Почти все его книги посвящены XAML, в том или ином виде, и отличаются высоким качеством. В настоящем обзоре я остановлюсь только на WPF 4.5 Unleashed.

До знакомства с этой книгой, мои познания в XAML были весьма поверхностны, поэтому о книге я буду рассуждать с позиции новичка. Структура книги представляет собой типичный учебник – так, мы начинаем с простейших вещей, постепенно двигаясь к более сложному материалу. Автор практически не использует ещё не рассмотренный функционал в примерах, что позволяет читать книгу линейно,- от корки до корки.

Итак, книга начинается с пояснения читателю, что такое WPF(как? зачем? почему?) и как он связан с XAML. Это занимает 3 главы(~100 страниц) и, на мой взгляд, является исчерпывающим. После чего читателю предлагается создать своё первое WPF приложение и поясняется, как оно “живёт” в мире Windows(т.е. как его развёртывать). В этой части читатель знакомится с основами XAML, как-то позиционирование и размещение элементов на экране. За этой базовой частью идут главы посвящённые различным элементам управления из которых, собственно, и состоит любое Windows приложение, с графическим интерфейсом. Замыкает базовую часть книги главы, посвященные стилям, связыванию и шаблонам, которые позволяют изменять интерфейс любого приложения до неузнаваемости(не делайте так!).

“Базовая часть” это мой термин, в книге такого разделения нет. Но на мой взгляд, первые 4 части(14 глав) обязательны к прочтению прежде чем вы сможете создать мало-мальски сложное приложение. Оставшаяся же часть книги, на мой взгляд, может быть прочитана чуть позже, когда основы уже хорошо устаканятся в голове.

После базовой части идут главы посвящённые двух- и трёх-мерному рисованию, а также анимации и аудио/видео воспроизведению(я выделил это в “продвинутую часть, т.к. во многих приложениях этот функционал не нужен). Последние главы расскажут читателю о создании собственных элементов управления и панелей размещения, а также помогут наладить взаимодействие с технологиями, которые появились до WPF(такими как WinAPI и WinForms). Итак, обрисовав вкратце содержание книги перейдём к качеству изложения.

Начнём, по традиции, с языка. Язык книги довольно прост и не отвлекает от чтения, ни академичностью, ни поэтическими завихрениями – типичный язык, типичного технаря, не обременённого талантом писателя. Именно то, что надо для подобных книг. Но автор явно обладает хорошим вкусом и пониманием, что картинки и примеры есть залог лучшего усвоения материала, поэтому книга содержит просто огромное количество примеров и картинок. Отдельно хочется остановится на качестве изображения оных – оно просто великолепно и это лучшее из того, что я встречал. Всё выполнено в цвете, код услужливо выделен в тех местах, на которые стоит обратить внимание. В общем в плане оформления книге можно смело ставить заслуженную 10.

Хочу обратить внимание, что всё это справедливо для бумажного издания. EPUB-версия воспринимается гораздо хуже. PDF я не видел(не искал)

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

Кроме примеров, книга обильно сдобрена различными врезками, которые стараются раскрыть ту или иную тему более г��убоко, предупредить или просто дать совет. Это создаёт иллюзию погружения в дебри WPF. К сожалению это только иллюзия, и на деле книга является скорее введением в WPF, чем реальным погружением в оный. Я – новичок и мне сложно оценить насколько глубоко копает Натан, но, на мой взгляд, всё же не очень глубоко. У меня оставались и остаются вопросы, ответы на которые я не вижу в книге. Тем не менее, с задачей знакомства с WPF эта книга справляется, она содержит достаточно материала, чтобы писать приложения различной степени сложности, сразу после ознакомления с оной. Другое дело, что многое вы, возможно, будете делать не имея полноценного представления о том, что происходит за ширмой. Как правило это не мешает разрабатывать высококлассные приложения(до тех пор, пока “что-то” из этих дебрей не ударит по вам).

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

Таким образом, резюмирую вышесказанное, я бы советовал данную книгу к прочтению людям, желающим познакомиться с технологией WPF. Книга действительно очень качественная и стоит того, чтобы её прочитать. Другое дело, что не стоит ограничиваться только ею, если есть желание погрузиться в WPF более глубоко(а как без этого, если вы хотите профессионально разрабатывать приложения на нём?). На мой взгляд, если взять никому не понятные градации уровня разработчика, то данная книга очень хороша для уровня “Средний”(Middle), но не является достаточной для “Опытного”(Senior) программиста.