Этот курс научит создавать современные веб-приложения с нуля. Он построен логично - от основ до сложных концепций.
Курс начинается с понимания того, как работает интернет. Студенты узнают о клиент-серверной технологии, доменах, хостинге и веб-серверах. Рассматриваются HTTP-запросы и протоколы передачи данных. Далее идет практическая работа с HTML и CSS - создание кроссбраузерных страниц, которые корректно отображаются на мобильных устройствах.
В этом модуле изучается основа JavaScript. Начинается с истории языка и областей ее применения. Далее идет синтаксис: типы данных, переменные, операторы, условные конструкции и циклы. Студенты осваивают функции, замыкания, работу с массивами и объектами. Особое внимание уделяется работе с DOM - выборке элементов на странице, их изменению и созданию. Модуль включает обработку событий браузера и регулярные выражения.
Здесь рассматривается ООП в двух подходах: процедурном и прототипном. Студенты изучают конструкторы объектов, интерфейсы, методы работы с ними и функциональное наследование. Далее идет углубленное изучение современного JavaScript (ES6+): переменные let/const, деструктуризация, новые возможности функций и работы со строками. Рассматриваются классы, наследование, Promise, асинхронный код, генераторы и модули.
Этот модуль посвящен серверной части. Студенты научатся устанавливать и запускать Node.js, работать с модулями, использовать менеджеры пакетов NPM и Yarn. Включает подключение базы данных, работу с POST и GET запросами, использование сборщиков проектов Webpack и Babel. Отдельно изучается работа с API: AJAX-запросы, формат JSON, XMLHttpRequest, fetch и принципы REST API.
Модуль посвящен библиотеке React. Начинается с базовой концепции и настройки среды. Студенты изучают JSX-синтаксис, Virtual DOM, рендеринг элементов. Глубоко рассматриваются компоненты, реквизиты, состояние и жизненный цикл компонентов. Практикуется обработка событий, условный рендеринг, работа с формами, списками и обратный поток данных.
Завершающая часть курса охватывает Redux для управления состоянием приложений. Студенты изучают концепцию единого источника истины, подключение к React, редюсеры и иммутабельность данных. Отдельный блок посвящен тестированию - написанию end-to-end и unit тестов с помощью Jest, Enzyme и Nightwatch. Финалом становится разработка полноценного фронтенд приложения на React с серверной частью на Node.js.