Интенсивный онлайн‑курс
Профессиональный JavaScript,
уровень 3

3 февраля — 8 апреля 2020

Профессиональный JavaScript, уровень 3

HTML Academy — стандарт в обучении фронтендеров. Наша задача — готовить полноценных и востребованных специалистов, готовых работать в веб-индустрии.

Как проходит онлайн‑курс

Начальный уровень: средний

Курс предназначен для тех, кто прошёл «Профессиональный JavaScript, уровень 2», или для разработчиков, желающих поднять свои навыки.

Даты интенсива

Интенсив длится девять недель, c 3 февраля по 8 апреля. Каждую неделю проходят две живые лекции, после которых надо выполнять практические задания и работать с наставником.
Программа интенсива

Живые лекции

Живые лекции проходят по вторникам и пятницам с 19:00 до 21:00 по московскому времени. Преподаватель рассказывает лекцию, а студенты задают вопросы.

Записи лекций

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

Практика

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

Личный наставник

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

Защита проекта

Интенсив завершается защитой проекта, где ваш проект проверяется в соответствии с профессиональными критериями качества.

Программа

Внимание! Программа может изменяться и дополняться.

Раздел 1

React

Рассмотрим схему работы на курсе. Познакомимся с популярной библиотекой React. Узнаем какие проблемы она решает и как может упростить наш проект. Подготовим инфрастуктуру для React-проекта, разберёмся как работают компоненты и JSX.

Организационные вопросы.

  • Обзор проектов.
  • Схема работы на интенсиве.

React.

  • Что такое React.
  • Как работает React.
  • Какие задачи эффективно решает.
  • Virtual DOM.
  • React Component.

Дополнительные инструменты.

JSX.

Компонентный подход.

  • Компоненты React.
  • Свойства компонентов.
  • Передача данных через свойства.
  • Типизация свойств.
  • Вложенные компоненты.

Рендеринг компонент.

  • Рендеринг списков.
  • Условный рендеринг.
Практика

Практика

  • Создание репозитория, форк, клонирование.
  • Знакомство с проектом.
  • Настройка инфраструктуры.
Раздел 2

Тестирование React

Познакомимся с инструментами и методиками тестирования React-приложений. Настроим инфраструктуру для тестирования, напишем тесты для созданных компонент.

  • Jest.
  • Enzyme.
  • PropTypes.
Практика

Практика

  • Настройка инфраструктуры для тестирования.
  • Применение методик тестирования.
  • Написание тестов для компонент.
Раздел 3

state

Улучшим знания о React и компонентах. Разберём state, события и методы жизненного цикла компонента.

  • state.
  • Однонаправленный поток данных.
  • Stateless-компоненты, PureComponent.

События.

  • Обработка событий в компонентах.
  • Synthetic React Events.

Методы жизненного цикла.

React и формы.

Обработка ошибок.

Практика

Практика

  • Добавление state компонентам.
Раздел 4

React и паттерны

Разбираемся с вопросом, что такое архитектура программного обеспечения и как её проектировать. Знакомимся и учимся на практике применять паттерны проектирования.

Проектирование.

  • Чем отличается хорошая программа от плохой.
  • Зачем проектировать программное обеспечение. Цели проектирования.
  • Архитектура программного обеспечения.
  • Инструменты для проектирования.

Паттерны проектирования.

  • Какие проблемы решают паттерны.
  • Из чего состоит паттерн.
  • Виды паттернов проектирования.

Паттерны в React.

  • Простые компоненты (Stateless function).
  • Условный рендеринг (Conditional Rendering).
  • Компоненты-обёртки (Proxy component).
  • Стилизация компонентов (Style component).
  • Компоненты высшего порядка (Higher-order component).
  • Переключение событий (Event switch).
  • Render Props.
  • Провайдер (Provider).
  • Порталы (Portals).
Практика

Практика

  • Улучшение проекта, применение паттернов на практике.
  • Взаимодействие со сторонней экосистемой.
Раздел 5

Redux

Знакомимся с Flux-архитектурой: действия (Actions), диспетчеры (Dispatcher), представления (Views) и хранилища (Stores). Подключаем к проекту Redux и обновляем кодовую базу.

  • Flux-архитектура.
  • Хранилище, диспетчер, действия.

Redux.

Практика

Практика

  • Подключение к проекту Redux.
  • Обновление кодовой базы.
Раздел 6

Оптимизация производительности

Поговорим о производительности React-приложений: какие есть особенности, на что следует обращать внимание при проектировании компонент в первую очередь.

  • Parse и compile Time.
  • Профилирование компонент.
  • Управление обновлением компонент.
  • Рендеринг длинных списков и таблиц.
Практика

Практика

  • Профилирование компонент.
  • Рендеринг длинных списков.
Раздел 7

Асинхронность в Redux

Научимся внедрять асинхронный код в синхронную работу Redux с помощью Middleware.

  • Thunk.
  • Middleware.
  • Взаимодействие с сервером.
Практика

Практика

  • Загрузка данных с сервера с помощью middleware thunk.
  • Написание middleware.
Раздел 8

React Router

Знакомимся с маршрутизацией в SPA-приложениях. Добавляем в проект пакет react-router, создаём публичные и приватные маршруты.

  • Роутинг.
  • history API.
  • Компоненты Route, Link.
  • Приватные маршруты.
  • Редиректы.
Практика

Практика

  • Подключение react-router.
  • Добавление публичных и приватных маршрутов.
  • Добавление hooks.
Раздел 9

React и типизация

Познакомимся со статической типизацией. Обсудим, какие проблемы решает. Добавим к проекту TypeScript.

Статическая типизация.

  • Что это такое?
  • Плюсы минусы.
  • Статическая типизация для JS.

TypeScript и React.

  • Поддержка React в TypeScript.
  • Интерфейсы.
Практика

Практика

  • Добавление в проект TypeScript.
Раздел 10

Финал

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

Сертификат

После курса вы получите сертификат.

Сертификат интенсива «Профессиональный Javascript, уровень 3»

Об Академии

7лет на рынке обучения
75интенсивов проведено
8 160студентов закончили курсы

Главная цель интенсивных курсов — готовить профессионалов для IT-индустрии.

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