Глава 1. Рекомендации по изучению материалов пособия и основные термины............5
Методические рекомендации преподавателям и студентам.......................................5
Подготовка среды для работы с JavaScript..............................................................6
Понятия фронтэнда и бэкэнда................................................................................13
Протоколы, используемые в вебе при создании веб-приложений...............................21
Глава 2. Использование Node.js для отправки сетевых запросов и их обслуживания.....................................................................................................30
Метод net.connect.............................................................................................30
Метод net. Server...............................................................................................32
Глава 3. Fetch API.............................................................................................36
Основа: AJAX...................................................................................................37
О потоках...........................................................................................................39
Отправка запросов...........................................................................................43
Глава 4. Модель приложения на Node.js.............................................................45
Отладка...............................................................................................................54
Простейшая маршрутизация..............................................................................63
Блокирующий код............................................................................................64
Выдача статики.................................................................................................68
Приём запроса с телом сообщения.....................................................................71
Модуль connect.................................................................................................77
Деплой приложения на Next.js/vercel................................................................77
Использование ngrok.......................................................................................83
Глава 5. Библиотека Express..............................................................................86
Установка Express............................................................................................87
Понятие middleware. Виды middleware и их стек.................................................93
Маршрутизация. Создание express.Router и дерева маршрутов............................99
Шаблонизация................................................................................................107
Приём запроса с телом..................................................................................112
Запуск приложения в формате сервиса............................................................116
Использование ядер и потоков..........................................................................117
Глава 6. Нано и микросервисы, REST API..........................................................123
Создание декларативного сервиса на основе ОрепАРІ.......................................124
Критерии RESTful..........................................................................................126
Операции с ресурсами на основе НТТР-глаголов...............................................128
Реализация Express-приложения в формате микросервиса...................................129
Скаффолдинг..................................................................................................139
Создание микросервиса на основе проекта Hydra................................................140
Глава 7. HTTPS и HTTP/2..................................................................................145
Локальный сертификат....................................................................................145
Модуль node:https...........................................................................................148
Контейнер companion.......................................................................................148
Модуль node:http2............................................................................................151
Глава 8. Веб-сокеты..........................................................................................153
Клиентская реализация WebSocket......................................................................153
socket.io.............................................................................................................158
Глава 9. Использование Deno и Bun....................................................................160
Deno..................................................................................................................160
Bun.....................................................................................................................170
Заключение........................................................................................................171
Вопросы для самопроверки..................................................................................172
Примеры заданий автоматизированной проверки...................................................174
Литература.........................................................................................................176
Данное учебно-методическое пособие развивает идеи первой книги автора Введение в веб-разработку на языке JavaScript и онлайн-курса «Серверные веб-технологии и системы управления контентом» на платформе openedu.ru. В пособии рассматриваются фундаментальные основы и прикладные аспекты использования языка JavaScript (и TypeScript) для разработки веб-ресурсов. Рассматриваются основные аспекты разработки бэкэнда: шаблонизация, маршрутизация, скаффолдинг, отладка, развёртывание, контейнеризация. Обучающимся предложены задания развивающего и проблемного типа, нацеленные на формирование профессиональных компетенций в области веб-разработки. Все примеры и задания доступны в интерактивной части пособия (сайт kodaktor.ru), которая является зарегистрированным в Роспатенте средством электронного обучения и содержит не только образцы кода, но и скринкасты по ряду рассматриваемых в текстовой части вопросов. Структура пособия позволяет организовать изучение материала в заочной и дистанционной форме.