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

29 апреля — 3 июля 2019

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

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

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

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

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

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

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

Живые лекции

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

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

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

Практика

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

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

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

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

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

Программа

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

Раздел 1

React

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

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

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

React.

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

Инфраструктура.

  • React-Hot-Loader.

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

JSX.

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

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

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

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

Практика

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

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

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

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

Практика

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

state

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

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

События.

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

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

React и формы.

Взаимодействие с сервером.

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

  • Rollbar.
Практика

Практика

  • Добавление state компонентам.
  • Обработка форм.
  • Взаимодействие с сервером.
Раздел 4

React и паттерны

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

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

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

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

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

Паттерны в React.

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

Практика

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

React Router

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

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

hooks.

  • Пакет react-use.

Тестирование hooks.

Strict Mode.

Практика

Практика

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

Redux

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

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

Redux.

middlewares.

Роутинг и Redux.

Практика

Практика

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

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

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

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

Практика

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

Библиотеки

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

Вспомогательные библиотеки.

  • recompose.
  • reselect.
  • redux-persist.
  • classnames.
Практика

Практика

  • Добавление вспомогательных библиотек в проект.
Раздел 9

React и типизация

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

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

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

TypeScript и React.

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

Практика

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

Финал

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

Об Академии

6лет на рынке обучения
70интенсивов проведено
7 073студента закончили курсы

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

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

29 апреля — 3 июля 2019

Зарегистрироваться и оплатить
курс «JavaScript, уровень 3»

5 часов работы с личным наставником.

29 апреля — 3 июля 2019

Зарегистрироваться и оплатить
курс «JavaScript, уровень 3»

Осталось 24 места

23 500до 25 января21 000

Нажимая «Оплатить», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями предоставления услуг».

Заполните, пожалуйста, ваши имя и электронную почту для регистрации.

После оплаты курса вам придёт письмо с инструкциями и ссылкой для доступа в интерфейс участника интенсива.

  • У нас есть образовательная лицензия
  • Выдаем сертификаты
  • Можно сделать налоговый вычет
  • Доступ к платным интерактивным курсам на время интенсива

Слишком сложно? Начните с курса попроще!