По ходу изучения материала, на протяжении всего курса, слушатели вместе с тренером строят конкретные приложения с использованием классов React и фунций. На основе теоретических знаний, на конкретных данных, полученных из микросервисов стенда, формируют клиентское веб приложение с использованием фукций хуков и библиотеки Redux.
Разработчиков Web приложений (front-end)
По окончанию курса слушатели смогут самостоятельно разрабатывать клиентские ReactJS приложения с использованием библиотек Redux и функций Hooks
Знание языка JavaScript (ECMAScript), основ веб-разработки.
1. Развертывание рабочего стенда для работы с микросервисами, представлеными, приложениями в технологиях JEE, Python, NodeJS, Postgresql.
2. Эволюция развития веб приложений. От запроса - ответа, к сервлетам и feces технологиям сервера, к технологиям разработки клиентских приложений React, Vue, Angular. Введение в SPA приложения. Что такое реактивное приложение. Виртуальный DOM приложения.
3. Подготовка рабочей среды WebStorm для работы с ReactJS, подключение дополнительных библиотек в локальную песочницу.
4. Создание минимального React приложения, утилита create-react-app, анатомия и внутренняя архитектура каталогов, React объект - как точка входа в приложение.
5. Синтаксический сахар - React-JSX для функции createElement. Спецификация типов элементов, область видимости и нотации JSX. Правила именования. Свойства JSX элементов и литералы.
6. React компоненты - классы или функции, что выбрать. Props (свойства) и состояние (state). Описание и использование событий в функциональных и классовых компонентах. Методы жизненного цикла компонента. Этапы формирования и обновления виртуального DOM. Устаревшие методы - в несколько слов.
7. Использование функции fetch для доступа к микросервисам стенда. Описание прокси для сервера разработки. Авторизация и аутентификация клиентского приложения на сервере. Обработка ошибок сервера на стороне клиентского приложения. Выстраивание цепочки выполнения запросов к серверу в единый промис на конкретных примерах микросервисов. Построение готового клиентского приложения с обработкой отношения мастер-деталь, изменением данных в базе данных и формированием отчетов.
8. Неудобства работы с локальным хранилищем в React, изолированость хранилища и принятие специальных мер для обновления виртуального дома. Redux снимает эти проблемы.
9. Установка Redux, две библиотеки, создание структуры хранилища в файловой системе - общие принципы.
10. Назначение reducer, базовая функция.
11. Инициализация хранилища. Механизм диспетчеризации в хранилище, создание и использование механизмов обновления данных в хранилище. Возврат данных из хранилища.
12. Подписчики на состояние хранилища.
13. Передача состояния в свойства компонент - Provider, автоматизация передачи необходимых свойств из кранилища в компоненты - назначение функции mapStateToProps и mapВшызфесрToProps.
14. Фукция обертка, или фунция верхнего порядка, которая возвращается функцией connect - для связи компонента с хранилищем и механизмами его обновления.
Весь теоретический материал разбирается на конкретном примере работы с серверной частью стенда. Разбираем пример построения клиентского приложения, где обрабатываются таблицы в отношении мастер-деталь.
15. Изсользование состояния приложения без реализации классовой архитектуры - это функции Хуки. Добавление состояния к функиональному компоненту - useState вместо this.state. Правила чтения и записи состояния. Виртуальный DOM отслеживает состояние.
16. Побочные эффекты компонента и хук useEffect, получение данных из микросервиса и обновление состояния, улучшение производительности useEffect с организацией наблюдения за переменными состояния.
17. Использование контекста (хук useContext) для получения доступа к свойствам в родительском компоненте.
930 BYN
*с учетом НДС 20%
под руководством инструктора