Рецензия: React Современные шаблоны для разработки приложений

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

React Современные шаблоны для разработки приложений. Авторы: Алекс Блэнкс и Ева Порселло

Авторы подробно, но не уходя в дебри, рассказывают с разных ракурсов принципы и методы разработки приложений на React (пользовательский интерфейс в web).

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

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

Вообще этот вопрос имеет место быть. Мне неоднократно приходилось сталкиваться с вопросом от собеседника: зачем React когда есть свой_фреймворк/JQuery/VanilaJS. Эта книга дает объяснение ... но только для тех кто готов к переменам :)

2-ая и 3-я главы посвящены возможностям JavaScript, которые часто используются в React, но как выяснилось позже понимание этих возможностей позволит выжать из React максимум.

4-ая и 5-ая главы посвящены мягкому введению в React. Здесь авторы знакомят читателя с механизмами работы React и дают инфомрацию для быстрого старта, обозревая несколько способов начать работу (ручная сборка через webpack и автоматическаое создание каркаса приложения на create-react-app), как использовать React и JSX.

Авторы кратко затрагивают парадимы программирования - дают четкое объяснение на примерах разницы между декларативным и императивным подходом, подводя читателя к мысли что:

React имеет декларативный характер.

Декларативный характер React позволяет писать абстрагируясь от деталей реализации, сосредотачивая суть вокруг архитектуры.

И затем уходят в сторону функционального программирования, красочно рассказывая о хуках и преимуществе данного подхода, идеализируя:

В React пользовательский интерфейс выражается чистыми функциями.

Также в книге встречаются моменты из истории становления React в том виде, каков он сейчас, и авторы делают смелое предсказание устаревания объектно-ориентированного подхода:

Отнеситесь к нему как к другу детства, с которым вы много чего пережили, но потом ваши пути разошлись.

Сначала я сопротивлялся, но аргументированность и последовательсть изложения на протяжении всей книги смогли меня переубедить. А применив функциональное программирование на практике сомнений не осталось: кода меньше, ясности больше.

Последующие главы погружают читателя в детали работы с React.

В главе 6 детально рассматривается понятие состояния, и процессы его обработки. То чего мне не хватало для понимания сути React.

Основные фундаментальные элементы, которые позволяют выстраивать элегантную архитектуру React приложения, можно охарактеризовать так (глава 6):

Cостояния передается вниз по дереву компонентов, а взаимодействий вверх.

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

Не обходится стороной данные и способ их получения с сервера, этому посвящена глава 8. Здесь в подробностях, и различных вариациях представлены шаблоны для манипуляции данными.

Так же авторы не обходят стороной тестирование приложений на React, что было для меня важно. Этому посвящена глава 10. Информации не много, для старта вполне достаточно.

Читатель познакомится с различными инструментами (ESLint, Prettier, PropTypes, Flow, TypeScript, Jest и плагины ко всему этому), которые позволят писать правильный код с минимумом ошибок.

Резюме

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

Примеры в книге лаконичны и понятны, почти все просмотрел :)

Далеко не забрасываю, книга с закладками остается как справочник, на повседневность при работе с React.