Цей курс навчить створювати сучасні веб-додатки з нуля. Він побудований логічно - від основ до складних концепцій.
Курс починається з розуміння того, як працює інтернет. Студенти дізнаються про клієнт-серверну технологію, домени, хостинг та веб-сервери. Розглядаються 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.