Общая информация
Книга состоит из 13 глав и 3 приложений. Приложения по сути справочник jQuery и CSS. Книга не для новичков JavaScript, поэтому кто решил её начать читать, уже должен знать базовый JS. Множество примеров в этой книге основаны на использовании jQuery. Далее рассмотрим чуть более подробнее каждую главу.
Краткий обзор глав
Первая глава “MVC и классы” собственно рассказывает про одноимённый паттерн и классы как хороший механизм для реализации модульности. Примеры на jQuery. MVC на jQuery с использованием классов на JS выглядит, если уж не совсем кринжово, то как минимум пугающе или странно. Но окей, в целом подход интересный и изучить можно. Но вообще затронуты bind и прототипы, так что уже неплохо.
Глава 2 — события и наблюдения. Разобраны addEventListener и removeEventListener, отмена событий. Всё это также рассмотрено в связке с jQuery.
Глава 3 — Модели и данные. Раскрытие термина MVC. Работа с данными на примере самописной ORM. Знакомство с jQuery.ajax. Опять-таки книга не совсем для новичков, так что вряд ли слово "знакомство" уместно. В целом результат выглядит вроде и хорошо читаемым, но из-за того, что никто такое не делал и не делает, одновременно выглядит также и странным.
Глава 4 — Контроллеры и состояния. Было интересно, что выберет автор в качестве менеджера состояния или также напишет свой. В приложении разобрана маршрутизация при помощи хэшей, так что меня, как человека, работающего с SEO-оптимизацией 8 лет, это не могло не бесить.
Глава 5 — Представление и использование шаблонов. Речь уже про view-файлы, про их динамический рендеринг и в целом работу. Разобраны хелперы (служебные функции).
Глава 6 — управление зависимостями. Речь идёт про изоляцию JS и исключение конфликтов. Упоминаются как нативные инструменты (которые в то время ещё вряд ли полноценно работали во всех браузерах), так и сторонние библиотеки.
Глава 7 посвящена работе с файлами, в том числе перетаскиванию, работе с буфером обмена. Современные API по работе как с буфером, так и с перетаскиванием успели измениться в лучшую сторону. Также разобраны примеры передачи файлов без перезагрузки страницы.
Глава 8 — Веб-технологии в реальном времени. Очень бегло разобраны сокеты и Node.js (работа с сокетами).
Глава 9 — Тестирование и отладка. Бегло разобраны библиотеки QUnit, Jasmine, Selenium, Zombie.js, Ichabod. Кроме Selenium, я тут мало про что слышал даже. Также кратко есть упоминание про инспектор кода, консоль и прочие вкладки, помогающие разработчику отладить код в браузере.
Глава 10 — Развёртывание. Речь идёт об использовании кэширования, минификации файлов, gzip-сжатии, использовании CDN. Про CI/CD, конечно же, ничего нет.
Последующие три главы посвящены библиотекам Spine, Backbone, JavaScriptMVC.
Заключение
Читая книгу в первый раз, я находил в ней гораздо больше полезного, нежели когда пятью годами позже сел писать полноценные конспекты по книге. Так что на текущий момент я скорее не рекомендую читать эту книгу, несмотря на то, что в ней есть интересные подходы. При всей популярности jQuery даже ещё сейчас, я бы всё равно не рекомендовал эту книгу к прочтению.