на цьому курсі ви навчитеся робити справжні проекти, такі ж за рівнем складності, як в індустрії. І будете робити їх правильно, щоб після навчання видавати результат високого рівня, за який компанії готові платити.
перший тиждень
Розділ 1
ECMAScript
Розглянемо схему роботи на інтенсиві і дізнаємося, які інструменти нам знадобляться. Познайомимося з останніми версіями стандарту ECMAScript, розберемо які проблеми він вирішує і чим відрізняється від ECMAScript 5.
Організаційні питання.
- огляд проектів.
- Схема роботи на інтенсиві.
- область видимості.
- оператори let і const.
- рядки-шаблони.
- стрілочні функції.
- параметри функцій за замовчуванням.
- деструктуризація.
- Створення репозиторію, форк, клонування.
- знайомство з проектом.
Розділ 2
Модулі та інфраструктура проектів
Познайомимося з поняттям модульності і розглянемо, як влаштовані модулі в останніх версіях стандарту ECMAScript. Розберемося зі збирачами модулів: навіщо вони потрібні, як вони працюють і як їх підключити в проект. А так само дізнаємося, що таке npm-пакети. Навчимося їх встановлювати і управляти ними.
модулі.
РОЗДІЛ 3
Структури даних
Дізнаємося, навіщо потрібні структури даних frontend-розробнику і як їх застосовувати в своїх проектах.
Введення в ООП
Познайомимося з об'єктами в JavaScript. Навчимося створювати, копіювати і застосовувати об'єкти для вирішення практичних завдань. Поговоримо про типізацію і розберемося з магічним контекстом.
Об'єкти JavaScript.
Компонентний підхід.
Розділ 5
Спадкування і поліморфізм
Продовжуємо знайомитися з ООП в JavaScript. Розберемо поліморфізм і спадкування. Попрактикуємося в написанні компонентів багаторазового використання.
ООП.
Датабіндінг-зв'язування даних
На цьому етапі ми встановимо зв'язок між компонентом і структурою даних: оновлення даних при зміні стану компонентів.
Датабиндинг.
Розділ 7
Зв'язування даних. Продовження
Потім встановимо зворотний зв'язок: оновлення компонентів при зміні даних.
Датабиндинг.
Розділ 8
Робота з мережею
Дізнаємося як працює протокол HTTP, що таке REST і REST API. Розберемося з об'єктом Promise і дізнаємося, як він допомагає відправляти і обробляти HTTP-запити. Дізнаємося, як проектувати інтерфейси, в яких є асинхронний код так, щоб користувачеві було зручно.
Протокол HTTP.
REST.
Промисы.
Fetch API.
Практика
Offline
Дізнаємося, чи є життя без Інтернету.
Модулі та інфраструктура проектів
Познайомимося з поняттям модульності і розглянемо, як влаштовані модулі в останніх версіях стандарту 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.
- знайомство з практиками, що забезпечують роботу програми, в разі, якщо доступ до мережі пропав.
https://privatelink.de/?https://htmlacademy.ru/intensive/ecmascript