Программа интенсива
Раздел 1: инфраструктура
Теория:
работа с системой контроля версий Git
рабочий процесс на интенсиве
дополнительные инструменты: eslint, npm, gulp
Практика:
Клонирование репозитория
Выбор IDE
Настройка рабочего окружения
Раздел 2: ES2015
Теория:
Спецификация ECMAScript 2015. Поддержка в браузерах, полифиллы
Препроцессинг ES2015-кода: babel
Система сборки зависимостей: webpack
Практика:
Знакомство со структурой проекта, вводные задания
Раздел 3: Структуры данных. Функциональное программирование. Шаблонизация
Теория:
Структуры данных
Стандартные структуры данных в ECMAScript 2015: Map, Set, WeakMap, WeakSet, использование массивов JS как списков
Функциональное программирование
Практика:
Шаблонизация: создание DOM-структуры на основе заданной структуры данных
Раздел 4: Тестирование
Теория:
Тестирование
Behaviour Driven Development
assert
Практика:
Написание тестов на функции для работы со структурой данных
Раздел 5: ООП в ES2015. Компонентный подход
Теория:
Компонентный подход к работе с DOM
Паттерн MVC: View
Объектно ориентированное программирование. Классы. Наследование
Практика:
Создание DOM-компоненты, наследование
Раздел 6: Проектирование архитектуры приложений
Теория:
Компонентный подход: слабое связывание
Паттерн MVC: Controller
Состояние приложения
Адресная строка
Практика:
Описание связи между данными и DOM-компонентой
Раздел 7: работа с сетью, чтение
Теория:
REST, API
AJAX
Протокол HTTP. GET-запросы
Promise
Fetch API
MVC: Model
Практика:
Получение данных из API
Обработка полученных данных и интеграция в приложение
Раздел 8: работа с сетью, запись
Теория:
REST
Протокол HTTP. POST, UPDATE, DELETE, PATCH-запросы
Практика:
Загрузка данных на сервер из JS
Раздел 9: будущее, продвинутые практики, JS вне браузера
Теория:
ES2016, ES2017
Генераторы
async/await
node.js