Раздел 1
Single Page Application (SPA)
Рассмотрим схему работы на курсе и узнаем, какие инструменты нам понадобятся. Познакомимся с понятием модульности и рассмотрим, как устроены модули в последних версиях стандарта ECMAScript и как собирать такие модули сборщиком.
Организационные вопросы.
Архитектура.
Практика
Структуры данных
Узнаем, зачем нужны структуры данных frontend-разработчику и как их применять в своих проектах.
Практика
ООП. Введение
Познакомимся с объектами в JavaScript и рассмотрим новый способ их создания — с помощью классов. Поговорим про (не)изменяемость данных и разберём основы ООП.
Объекты в JavaScript.
Компонентный подход.
Практика
ООП. Наследование и полиморфизм
Продолжаем знакомиться с ООП в JavaScript. Разберём понятия полиморфизма и наследования. Подчиним магический this (контекст). Попрактикуемся в написании компонентов многоразового использования.
ООП.
Практика
MVP. Presenter
Начнём детальный разбор составляющих MVP. С помощью презентера (presenter, англ.) установим связь между компонентом и структурой данных: обновление данных при взаимодействии пользователя с компонентами.
Датабиндинг.
Практика
MVP. View
Продолжим детальный разбор составляющих MVP. Рассмотрим способы реализации интерактивных компонентов, которые должны реагировать на действия пользователя без обновления данных.
Практика
MVP. Model
Завершим детальный разбор составляющих MVP. Установим обратную связь: обновление компонентов при изменении данных.
Датабиндинг.
Практика
Работа с сетью
Вспомним, как работает протокол HTTP. Узнаем, что такое REST и REST API. Разберёмся с объектом Promise и узнаем, как он помогает отправлять и обрабатывать HTTP-запросы. Разберём, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.
Протокол HTTP.
REST.
Промисы.
Fetch API.
Single Page Application (SPA)
Рассмотрим схему работы на курсе и узнаем, какие инструменты нам понадобятся. Познакомимся с понятием модульности и рассмотрим, как устроены модули в последних версиях стандарта ECMAScript и как собирать такие модули сборщиком.
Организационные вопросы.
- Обзор проектов.
- Схема работы на курсе.
Архитектура.
- Разбор основ паттерна MV*.
- Как работают модули в ES20xx.
- Циклические зависимости.
- Сборка приложения при помощи webpack.
- Карты исходников (source map).
Практика
- Создание репозитория, форк, клонирование.
- Знакомство с проектом.
- Разделение проекта на модули.
- Настройка инфраструктуры для работы на курсе.
- Подключение в сборку загрузчика модулей.
Структуры данных
Узнаем, зачем нужны структуры данных frontend-разработчику и как их применять в своих проектах.
- Классические структуры данных.
- Структуры данных ES2015: Map, Set, Iterable.
- Возможности ES2015 для работы с массивами и объектами.
- Оператор spread и rest.
- Копирование объектов.
Практика
- Генерация моковых данных.
- Написание клиент-серверного приложения без сервера.
- Знакомство с библиотекой Day.js для работы с датами.
ООП. Введение
Познакомимся с объектами в JavaScript и рассмотрим новый способ их создания — с помощью классов. Поговорим про (не)изменяемость данных и разберём основы ООП.
Объекты в JavaScript.
- Способы создания объектов.
- Свойства и методы.
- Динамические имена свойств.
- Геттеры и сеттеры.
Компонентный подход.
- Объектно-ориентированное программирование.
- Какие проблемы решает ООП.
- Особенности ООП в JavaScript.
- Классы, типы в JavaScript.
- Инкапсуляция.
Практика
- Обновление кода с учётом новых знаний об объектах.
- Применение объектно-ориентированного подхода.
ООП. Наследование и полиморфизм
Продолжаем знакомиться с ООП в JavaScript. Разберём понятия полиморфизма и наследования. Подчиним магический this (контекст). Попрактикуемся в написании компонентов многоразового использования.
ООП.
- Принципы ООП.
- Полиморфизм.
- Наследование.
- Абстрактные классы.
- Контекст.
- Потеря и привязка контекста (apply, bind, call).
- Контекст стрелочных функций.
Практика
- Погружаемся в ООП. Инкапсуляция, наследование и полиморфизм на практике.
- Рефакторинг модулей.
- Реализация подписок в компонентах.
MVP. Presenter
Начнём детальный разбор составляющих MVP. С помощью презентера (presenter, англ.) установим связь между компонентом и структурой данных: обновление данных при взаимодействии пользователя с компонентами.
Датабиндинг.
- Схемы связывания компонентов в паттерне MV*.
- Односторонняя связь.
Практика
- Реализация презентеров в приложении.
- Установка одностороннего связывания данных — от компонента к данным.
MVP. View
Продолжим детальный разбор составляющих MVP. Рассмотрим способы реализации интерактивных компонентов, которые должны реагировать на действия пользователя без обновления данных.
- Состояние компонентов.
- Способы реализации интерактивности компонентов.
Практика
- Реализация интерактивных компонентов.
- Знакомство с библиотекой flatpikr.
MVP. Model
Завершим детальный разбор составляющих MVP. Установим обратную связь: обновление компонентов при изменении данных.
Датабиндинг.
- Разбор схем связывания компонентов в паттерне MV*.
- Двусторонняя связь.
Практика
- Реализация моделей в приложении.
- Связывание данных в обратную сторону — от данных к компонентам.
- Применение двустороннего связывания данных.
- Знакомство с библиотекой chart.js.
Работа с сетью
Вспомним, как работает протокол HTTP. Узнаем, что такое REST и REST API. Разберёмся с объектом Promise и узнаем, как он помогает отправлять и обрабатывать HTTP-запросы. Разберём, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.
Протокол HTTP.
REST.
Промисы.
Fetch API.
Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.