Книга «React 19. Разработка веб‑приложений на JavaScript» — тот нечастый случай, когда пособие по самым последним средствам разработки выходит на русском языке параллельно с англоязычными изданиями. Обычно российские издательства берут в перевод лицензионную книгу и только через год она выходит на русском языке. Но не в этом случае. Книга Владимира Дронова — это новейшее руководство по React 19, начиная с базовых концепций и заканчивая продвинутыми инструментами, такими как Redux, Formik и анимации. Отдельное внимание уделено практическому применению библиотеки, включая разработку полноценного веб-приложения с использованием Firebase.

***

Открывает рецензию ссылка на страницу книги «React 19. Разработка веб‑приложений на JavaScript» на сайте издательства БХВ. Напомним, на все книги по компьютерным технологиям от издательств «БХВ Петербург», «Alist» и «Фолиант» доступен промокод SSPSOFT на скидку 25% как подарок читателям Хабра от нашего блога.

React 19 стал значительным этапом в эволюции библиотеки. Ключевое новшество — система Actions, которая упрощает управление асинхронными процессами, включая обновление данных и обработку форм. Появились новые хуки, такие как useOptimistic и useFormStatus, делающие взаимодействие с пользователем мгновенным и гибким. Улучшена работа серверных компонентов, оптимизирующих SSR и смешанную рендеринг-архитектуру. 

Нововведения в React 19 делают разработку интерфейсов еще удобнее, открывая дополнительные возможности для разработки сложных веб-приложений.

Подробнее познакомиться с обновлениями в React 19 можно на сайте react,dev.

Владимир Дронов — один из самых известных российских авторов по темам разработки

Владимир Дронов — известный российский автор технической литературы, специализирующийся на книгах по веб-разработке и программированию. Он является одним из самых продуктивных и уважаемых авторов издательства «БХВ‑Петербург» в области IT-литературы. Книги автора отличаются подробным пошаговым изложением материала, большим количеством практических примеров, четкой структурой и методической проработкой. 

Основные направления, по которым автор пишет книги:

  • Web-разработка (HTML, CSS, JavaScript)

  • Фреймворки (React, Django, Laravel)

  • Языки программирования (Python, PHP, JavaScript)

  • Системы управления контентом (Django CMS, WordPress)

Среди самых известных книг автора (все их можно найти на сайте БХВ и на все книги действует промокод SSPSOFT):

  • «Django 3.0. Практика создания веб‑сайтов на Python»

  • «JavaScript в примерах и задачах»

  • «Laravel. Быстрая разработка современных динамических Web‑сайтов на PHP»

  • «PHP, MySQL и Dreamweaver MX 2004»

  • «React и Redux: разработка веб‑приложений»

Книги В. Дронова популярны среди русскоязычных разработчиков благодаря качественному изложению материала и практической направленности. Они часто используются как учебные пособия в сфере веб-разработки.

Теперь, отдав дань мастерству автора, перейдем к рецензии.

Аннотации к главам книги "React 19. Разработка веб-приложений на JavaScript"

Давайте пройдемся по оглавлению «React 19. Разработка веб‑приложений на JavaScript» и посмотрим на аннотации к каждой главе книги:

ЧАСТЬ I. СОЗДАНИЕ ПРОСТЕЙШЕГО REACT-ПРИЛОЖЕНИЯ

Глава 1. Список планируемых дел 1.0

Глава посвящена созданию базового React-приложения для управления списком дел. Читатель пошагово знакомится с основными концепциями React: компонентами, JSX-синтаксисом, пропсами и состояниями. Рассматривается механизм передачи данных между компонентами через props и подъем состояния, обработка событий в React. Особое внимание уделяется работе с формами и навигации с использованием библиотеки React Router. Изучаются концепции маршрутизации, загрузчиков и параметризованных маршрутов. Глава закладывает фундаментальное понимание базовых принципов React-разработки на практическом примере.

Глава 2. Список планируемых дел 2.0

В этой главе приложение списка дел получает развитие с добавлением серверной части на базе Google Firebase. Рассматривается процесс создания и настройки базы данных Firebase, реализация системы аутентификации с регистрацией пользователей, входом и выходом. Описывается механизм хранения данных в Firebase и их синхронизация с клиентским приложением. Важное место занимают вопросы разграничения доступа к данным. Отдельное внимание уделяется реализации валидации данных и обработке ошибок в React-приложении. Глава показывает процесс создания полноценного клиент-серверного приложения.

Часть II. Базовые инструменты

Глава 3. Проект React-приложения

Здесь идет подробный разбор структуры React-проекта. Рассматриваются основные файлы проекта, включая HTML-страницу приложения, стартовый модуль и таблицы стилей. Описываются процессы запуска и остановки проекта, отслеживания изменений в коде. Особое внимание уделяется настройке HTTPS при отладке. Разбираются типы возможных ошибок в коде и способы их выявления. Важная часть главы посвящена настройке проекта через переменные окружения, их созданию и использованию. Материал формирует понимание базовой инфраструктуры React-приложения.

Глава 4. Компоненты

Глава детально рассматривает работу с компонентами в React. Описывается жизненный цикл компонента и концепция хуков. Разбираются пропсы компонента и различные аспекты рендеринга, включая фрагменты и условный рендеринг. Особое внимание уделяется состояниям компонента и их связи с жизненным циклом. Рассматриваются дополнительные инструменты: рефы для управления DOM-элементами, порталы для рендеринга вне иерархии компонентов. Завершается глава темой оптимизации производительности через мемоизацию компонентов и результатов вычислений.

Глава 5. Язык JSX

Всесторонний анализ JSX - расширения JavaScript для описания структуры React-компонентов. Рассматриваются основы синтаксиса JSX, правила вывода значений и условного рендеринга. Описывается работа с последовательностями элементов и концепция ключей. Особое внимание уделяется использованию внедренных элементов в компонентах. Завершается глава рассмотрением способов оформления компонентов, включая работу с таблицами стилей компонентов, CSS-модулями и встроенными стилями.

Глава 6. Обработка событий

Подробное руководство по обработке событий в React. Рассматривается создание обработчиков событий и их привязка к элементам интерфейса. Описываются особенности передачи параметров в обработчики. Дается обзор событий, поддерживаемых React, и класса события React. Особое внимание уделяется фазам распространения событий в React и особенностям их обработки на разных фазах. Материал формирует полное понимание системы событий в React-приложениях.

Глава 7. Взаимодействие между компонентами

Глава раскрывает механизмы коммуникации между компонентами в React. Рассматриваются различные способы передачи данных: спуск через props, сквозная передача, использование контекстов. Описывается механизм подъема данных к родительским компонентам. Особое внимание уделяется передаче функциональности через рендер-пропсы и управления через рефы. Рассматривается использование промежуточных обработчиков для гибкого управления взаимодействием компонентов.

Глава 8. Работа с веб-формами и элементами управления

Комплексное рассмотрение работы с формами в React. Описывается взаимодействие с различными элементами управления, обработка событий форм. Подробно разбираются воздействия React для управления формами, включая упрощенные и полнофункциональные варианты. Особое внимание уделяется валидации вводимых данных. Материал формирует понимание создания и обработки интерактивных форм в React-приложениях.

Глава 9. Работа с внешними API

Глава посвящена взаимодействию React-приложений с внешними источниками данных. Рассматриваются эффекты React для работы с API на разных этапах жизненного цикла компонента. Описывается поддержка асинхронных операций, включая использование приостановки и низкоприоритетных обновлений. Особое внимание уделяется работе с отложенными значениями и оптимистичному обновлению компонентов. Глава важна для понимания процесса создания приложений, взаимодействующих с серверной частью.

Глава 10. Компоненты высшего порядка и собственные хуки

Рассмотрение продвинутых концепций React - компонентов высшего порядка (HOC) и пользовательских хуков. На практических примерах демонстрируется создание HOC для расширения функциональности существующих компонентов. Описывается процесс написания собственных хуков для повторного использования логики состояния и побочных эффектов. Материал позволяет создавать более гибкие и переиспользуемые компоненты.

Часть III. Дополнительные библиотеки и расширенные инструменты

Глава 11. Библиотека React Router: навигация, раздел 1

Здесь подробное рассмотрение основ маршрутизации в React с использованием библиотеки React Router. Описываются базовые концепции: маршруты, списки маршрутов, маршрутизаторы. Рассматривается создание простых и иерархических списков маршрутов. Особое внимание уделяется различным аспектам навигации, включая работу с гиперссылками и перенаправлениями. Материал формирует понимание базовой маршрутизации в React-приложениях.

Глава 12. Библиотека React Router: навигация, раздел 2

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

Глава 13. Преобразователи данных React

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

Глава 14. Библиотека Redux: централизованное хранение состояния, раздел 1

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

Глава 15. Библиотека Redux: централизованное хранение состояния, раздел 2

Продолжение изучения Redux с фокусом на интеграцию с React. Рассматривается библиотека React Redux для связывания компонентов с хранилищем. Описывается работа с провайдером хранилища и функцией connect(). Особое внимание уделяется библиотеке Redux Toolkit для упрощения работы с Redux. Рассматривается создание срезов состояния и управление асинхронными операциями.

Глава 16. Библиотека Formik: создание веб-форм

Подробное руководство по использованию Formik для создания форм в React. Рассматривается быстрое создание форм с использованием готовых компонентов. Описывается работа с различными элементами управления, валидация данных, обработка отправки. Особое внимание уделяется созданию сложных форм и собственных элементов управления. Рассматривается работа с массивами элементов управления.

Глава 17. Библиотека Yup: валидация данных

Глава посвящена валидации данных с использованием библиотеки Yup. Рассматривается создание схем валидации для различных типов данных. Описываются правила валидации строк, чисел, массивов и объектов. Особое внимание уделяется интеграции Yup с Formik для валидации форм. Материал формирует понимание создания надежной системы валидации в React-приложениях.

Глава 18. Библиотека ReactFire: интеграция с Google Firebase

Рассмотрение интеграции React-приложений с платформой Firebase. Описывается трехуровневая архитектура взаимодействия через провайдеры. Рассматривается работа с базой данных и системой аутентификации Firebase. Особое внимание уделяется получению данных о пользователях и работе с базой данных через компоненты-потребители. Материал важен для создания приложений с серверной частью на Firebase.

Глава 19. Библиотека React Awesome Reveal: анимация

Подробное руководство по созданию анимаций в React с использованием библиотеки React Awesome Reveal. Рассматриваются различные анимационные эффекты и их параметры. Описывается анимация отдельных элементов и групп компонентов. Особое внимание уделяется созданию специальных эффектов и анимации текста. Материал позволяет добавить интерактивность и визуальную привлекательность приложениям.

Глава 20. Прочие полезные инструменты и библиотеки

Обзор дополнительных инструментов для React-разработки. Рассматривается библиотека React Window для эффективного вывода больших списков и таблиц. Описывается работа с метатегами для улучшения SEO. Особое внимание уделяется предварительной загрузке ресурсов для оптимизации производительности. Материал расширяет инструментарий React-разработчика.

Глава 21. Обработка ошибок

Комплексное рассмотрение механизмов обработки ошибок в React-приложениях. Описываются способы обработки ошибок средствами JavaScript и React Router. Особое внимание уделяется обработке HTTP-ошибок и ошибок в асинхронных операциях. Рассматривается работа с приостановщиками. Материал формирует понимание создания надежных приложений.

Глава 22. Разделение кода и загрузка по запросу

Глава посвящена оптимизации загрузки React-приложений. Рассматриваются механизмы разделения кода и загрузки по запросу средствами JavaScript и React. Описывается реализация ленивой загрузки компонентов. Особое внимание уделяется оптимизации маршрутизации с использованием React Router. Материал важен для создания производительных приложений.

Глава 23. Расширенные средства отладки

Подробное руководство по отладке React-приложений. Рассматривается строгий режим React и настройка отладчика VS Code. Описывается работа с React Developer Tools и Redux DevTools. Особое внимание уделяется профилированию производительности и получению метрик Web Vitals. Материал формирует навыки эффективной отладки приложений.

Глава 24. Публикация веб-приложения

Завершающая глава о развертывании React-приложений. Рассматривается процесс подготовки приложения к публикации и создания эксплуатационной версии. Описываются различные способы публикации: на собственном сервере и сторонних платформах. Особое внимание уделяется настройке веб-серверов Apache и serve. Материал позволяет успешно развернуть готовое приложение.

Заключение

Книга Владимира Дронова «React 19. Разработка веб‑приложений на JavaScript» представляет собой функционально полное руководство, охватывающее аспекты современной React-разработки. Ценность представляет системный подход автора к изложению материала: от базовых концепций до продвинутых инструментов и библиотек.

Важно отметить, что освоение React 19 (и последующих версий) является критически важным для современных фронтенд-разработчиков. Версия 19 приносит обновления, оптимизирующие разработку современных приложений, включая улучшенное управление асинхронными процессами и новые хуки. Эти инструменты делают разработку более гибкой и продуктивной, открывая возможности создания интерактивных пользовательских интерфейсов с высокой производительностью и отличным пользовательским опытом.

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

Немного HR-рекламы от нашего блога: мы занимаемся заказной разработкой ПО и будем рады получить резюме специалистов, готовых работать оффлайн в Москве и Томске, а также удаленно из любой точки России. Текущие вакансии на нашей странице на hh.ru. Если вашей специальности нет в списке вакансий, не стесняйтесь прислать нам резюме — в SSP SOFT новые позиции открываются регулярно. Резюме можно направить в Telegram или на почту job@ssp-soft.com.

Успехов в изучении и практическом применении своих знаний в React-разработке!

Комментарии (3)


  1. gsaw
    20.01.2025 10:01

    Круто, вот казалось бы только реакт 19 зарелизили, а уже кто то написал книгу, а кто то уже прочитал и рецензию написал. Респект


  1. rtatarinov
    20.01.2025 10:01

    Звучит, как реклама! А еще если это на массмаркет то почему здесь Formik и yup вместо hook form и zod?


    1. winkyBrain
      20.01.2025 10:01

      С формиком понятно, а yup-то чем плох?