[HTML-academy] Продвинутый JavaScript (Игорь Алексеенко, Евгений Щепотьев)
Программа интенсива
Раздел 1: инфраструктура
Теория:
- работа с системой контроля версий Git
- рабочий процесс на интенсиве
- дополнительные инструменты: eslint, npm, gulp
Клонирование репозитория
Выбор IDE
Настройка рабочего окружения
Раздел 2: ES2015
Теория:
- Спецификация ECMAScript 2015. Поддержка в браузерах, полифиллы
- Препроцессинг ES2015-кода: babel
- Система сборки зависимостей: webpack
Знакомство со структурой проекта, вводные задания
Теория:
- Структуры данных
- Стандартные структуры данных в 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