[HTML Academy] Профессиональный онлайн?курс JavaScript, уровень 2. 18 ноября 2019 - 29 января 2020

Цена:
598.4
doneМного
doneЗаканчивается
highlight_offНет в наличии
notifications_none
Уведомить

[?IMG] ?

Уровень 2. 18 ноября 2019 - 29 января 2020

Программа курса
Неделя 1
Раздел 1
ECMAScript

Рассмотрим схему работы на интенсиве и узнаем, какие инструменты нам понадобятся. Познакомимся с последними версиями стандартом ECMAScript, разберём какие проблемы он решает и чем отличается от ECMAScript 5.

Организационные вопросы.
  • Обзор проектов.
  • Схема работы на интенсиве.
Новые возможности ECMAScript.
  • Область видимости.
  • Операторы let и const.
  • Строки-шаблоны.
  • Стрелочные функции.
  • Параметры функций по умолчанию.
  • Оператор spread и rest.
  • Деструктуризация.
Практика
  • Создание репозитория, форк, клонирование.
  • Знакомство с проектом.

Раздел 2
Модули и инфраструктура проектов

Познакомимся с понятием модульности и рассмотрим, как устроены модули в последних версиях стандарта ECMAScript. Разберёмся со сборщиками модулей: зачем они нужны, как они работают и как их подключить в проект. А так же узнаем, что такое npm-пакеты. Научимся их устанавливать и управлять ими.

Модули
  • Как работают модули в ES20xx.
  • Циклические зависимости.

Структура JavaScript-проекта

  • node.js, файл package.json, package-lock.json.
  • Управление проектом, npm.
  • npm-сценарии.
  • Запуск установленных исполняемых модулей.
  • Обновление версий пакетов.
  • Установка зависимостей.
  • Сборка приложения при помощи webpack.
  • Карты кода (source map).
  • Travis.
Практика
  • Настройка инфраструктуры для работы на интенсиве.
  • Подключение в сборку загрузчика модулей.
  • Разделение проекта на модули.
Неделя 2
Раздел 3
Структуры данных

Узнаем, зачем нужны структуры данных frontend-разработчику и как их применять в своих проектах.
  • Классические структуры данных.
  • Структуры данных ES2015: Map, Set, WeakMap, WeakSet.
  • Работа с массивами JS как со списками .
Практика
  • Пишем клиент-серверное приложение без сервера.
Раздел 4
Введение в ООП

Познакомимся с объектами в JavaScript. Научимся создавать, копировать и применять объекты для решения практических задач. Поговорим про типизацию и разберёмся с магическим контекстом.

Объекты JavaScript.
  • Функции и объекты.
  • Способы создания объектов.
  • Свойства и методы.
  • Динамические имена свойств.
  • Геттеры и сеттеры.
  • Копирование объектов.
  • Конфигурирование объектов.
  • Proxy.
Иммутабельность.
Контекст.

  • Контекст.
  • Потеря и привязка контекста (apply, bind, call).
  • Контекст стрелочных функций.
Компонентный подход.
  • Объектно-ориентированное программирование.
  • Какие проблемы решает.
  • Особенности ООП в JavaScript.
  • Классы, типы в JavaScript.
  • Инкапсуляция.
  • Интерфейсы.
Практика
  • Обновление кода с учётом новых знаний об объектах.
  • Применение объектно-ориентированного подхода.
Неделя 3
Раздел 5
Наследование и полиморфизм

Продолжаем знакомиться с ООП в JavaScript. Разберем полиморфизм и наследование. Попрактикуемся в написании компонент многоразового использования.

ООП.
  • Полиморфизм.
  • Наследование и цепочка прототипов.
  • Практика решения задачи.
Связывание компонент.
Практика

  • Углубление в ООП. Применение на практике инкапсуляции, наследования и полиморфизма.
  • Рефакторинг модулей.
Раздел 6
Датабиндинг — связывание данных

На этом этапе мы установим связь между компонентом и структурой данных: обновление данных при изменении состояния компонент.

Практика
  • Установим одностороннее связывание данных — от компонента к данным.
  • Познакомимся с библиотеками lodash, chart.js.
Неделя 4
Раздел 7
Связывание данных. Продолжение

А затем установим обратную связь: обновление компонентов при изменении данных.

Практика
  • Свяжем данные в обратную сторону — от данных к компонентам.
  • Применим двустороннее связывание данных.
Неделя 5
Раздел 8
Работа с сетью

Узнаем как работает протокол HTTP, что такое REST и REST API. Разберёмся с объектом Promise и узнаем, как он помогает отправлять и обрабатывать HTTP-запросы. Разберём, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.

Протокол HTTP.

REST.

Fetch API.

Промисы.
  • Функции обратного вызова (callback).
  • Ад из функций обратного вызова, и как его избежать.
  • Promise.
Практика
  • Получение данных для отрисовки приложения с внешнего сервера.
  • Отправка данных на внешний сервер.
Раздел 9
Offline

Узнаем, есть ли жизнь без интернета.
  • Cache.
  • Local Storage.
  • Web Worker.
  • Service Worker.
Практика
  • Познакомимся с практиками, позволяющими обеспечить работоспособность приложения, в случае если доступ к сети пропал.