[HTML academy] Профессиональный онлайн‑курс JavaScript, уровень 2 [27 июля — 30 сентября 2020]
На этом курсе вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии. И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.
Что будет доступно в складчине:
Раздел 1
ECMAScript
Рассмотрим схему работы на интенсиве и узнаем, какие инструменты нам понадобятся. Познакомимся с последними версиями стандарта ECMAScript, разберём какие проблемы он решает и чем отличается от ECMAScript 5.
Организационные вопросы.
Модули и инфраструктура проектов
Познакомимся с понятием модульности и рассмотрим, как устроены модули в последних версиях стандарта ECMAScript. Разберёмся со сборщиками модулей: зачем они нужны, как они работают и как их подключить в проект. А так же узнаем, что такое npm-пакеты. Научимся их устанавливать и управлять ими.
Модули.
Раздел 3
Структуры данных
Узнаем, зачем нужны структуры данных frontend-разработчику и как их применять в своих проектах.
Введение в ООП
Познакомимся с объектами в JavaScript. Научимся создавать, копировать и применять объекты для решения практических задач. Поговорим про типизацию и разберёмся с магическим контекстом.
Объекты JavaScript.
Компонентный подход.
Раздел 5
Наследование и полиморфизм
Продолжаем знакомиться с ООП в JavaScript. Разберем полиморфизм и наследование. Попрактикуемся в написании компонентов многоразового использования.
ООП.
Датабиндинг — связывание данных
На этом этапе мы установим связь между компонентом и структурой данных: обновление данных при изменении состояния компонентов.
Датабиндинг.
Раздел 7
Связывание данных. Продолжение
Затем установим обратную связь: обновление компонентов при изменении данных.
Датабиндинг.
Раздел 8
Работа с сетью
Узнаем как работает протокол HTTP, что такое REST и REST API. Разберёмся с объектом Promise и узнаем, как он помогает отправлять и обрабатывать HTTP-запросы. Узнаем, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.
Протокол HTTP.
REST.
Промисы.
Fetch API.
Практика
Offline
Узнаем, есть ли жизнь без интернета.
На этом курсе вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии. И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.
Что будет доступно в складчине:
- Исходники личных и учебного проектов Четкое тз по выполнению проектов Доп.материалы для обучения Задание и методичка к каждой лекции Репозиторий интенсива Чат интенсива в телеграм Все лекции интенсива в лучшем качестве
Раздел 1
ECMAScript
Рассмотрим схему работы на интенсиве и узнаем, какие инструменты нам понадобятся. Познакомимся с последними версиями стандарта ECMAScript, разберём какие проблемы он решает и чем отличается от ECMAScript 5.
Организационные вопросы.
- Обзор проектов. Схема работы на интенсиве.
- Область видимости. Операторы let и const. Строки-шаблоны. Стрелочные функции. Параметры функций по умолчанию. Деструктуризация.
- Создание репозитория, форк, клонирование. Знакомство с проектом.
Модули и инфраструктура проектов
Познакомимся с понятием модульности и рассмотрим, как устроены модули в последних версиях стандарта ECMAScript. Разберёмся со сборщиками модулей: зачем они нужны, как они работают и как их подключить в проект. А так же узнаем, что такое npm-пакеты. Научимся их устанавливать и управлять ими.
Модули.
- Как работают модули в ES20xx. Циклические зависимости.
- node.js, файл package.json, package-lock.json. Управление проектом, npm. npm-сценарии. Обновление версий пакетов. Установка зависимостей. Сборка приложения при помощи webpack. Карты кода (source map).
- Настройка инфраструктуры для работы на интенсиве. Подключение в сборку загрузчика модулей. Разделение проекта на модули.
Раздел 3
Структуры данных
Узнаем, зачем нужны структуры данных frontend-разработчику и как их применять в своих проектах.
- Классические структуры данных. Структуры данных ES2015: Map, Set, Iterable. Возможности ES2015 для работы с массивами и объектами. Оператор spread и rest.
- Написание клиент-серверного приложения без сервера.
Введение в ООП
Познакомимся с объектами в JavaScript. Научимся создавать, копировать и применять объекты для решения практических задач. Поговорим про типизацию и разберёмся с магическим контекстом.
Объекты JavaScript.
- Функции и объекты. Способы создания объектов. Свойства и методы. Динамические имена свойств. Геттеры и сеттеры. Копирование объектов.
Компонентный подход.
- Объектно-ориентированное программирование. Какие проблемы решает ООП. Особенности ООП в JavaScript. Классы, типы в JavaScript. Инкапсуляция.
- Обновление кода с учётом новых знаний об объектах. Применение объектно-ориентированного подхода.
Раздел 5
Наследование и полиморфизм
Продолжаем знакомиться с ООП в JavaScript. Разберем полиморфизм и наследование. Попрактикуемся в написании компонентов многоразового использования.
ООП.
- Полиморфизм. Наследование и цепочка прототипов. Принципы ООП. Абстрактные классы.
- Контекст. Потеря и привязка контекста (apply, bind, call). Контекст стрелочных функций.
- Углубление в ООП. Применение на практике инкапсуляции, наследования и полиморфизма. Рефакторинг модулей.
Датабиндинг — связывание данных
На этом этапе мы установим связь между компонентом и структурой данных: обновление данных при изменении состояния компонентов.
Датабиндинг.
- Связывание данных. Паттерны «Посредник» и «Наблюдатель». Функции обратного вызова (колбэки).
- Установка одностороннего связывания данных — от компонента к данным. Знакомство с библиотеками chart.js, flatpikr, moment.
Раздел 7
Связывание данных. Продолжение
Затем установим обратную связь: обновление компонентов при изменении данных.
Датабиндинг.
- Слабое связывание. Паттерны «Слушатель». Виды MV*.
- Связывание данных в обратную сторону — от данных к компонентам. Применение двустороннего связывания данных.
Раздел 8
Работа с сетью
Узнаем как работает протокол HTTP, что такое REST и REST API. Разберёмся с объектом Promise и узнаем, как он помогает отправлять и обрабатывать HTTP-запросы. Узнаем, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.
Протокол HTTP.
REST.
Промисы.
Fetch API.
Практика
- Получение данных для отрисовки приложения с внешнего сервера. Отправка данных на внешний сервер.
Offline
Узнаем, есть ли жизнь без интернета.
- Cache. Local Storage. Web Worker. Service Worker.
- Знакомство с практиками, обеспечивающими работу приложения, в случае, если доступ к сети пропал.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.