JavaScript: дополнительные уроки для начинающих

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

В книге 20 иллюстрированных уроков, более 20 практических упражнений на тему программирования веб-сценариев и 18 заданий для самостоятельной работы. Простым языком, кратко, наглядно рассказано о новых программных инструмен­ тах, появившихся в последние годы в языке JavaScript. Описаны новый синтаксис объявления классов, промисы, асинхронные функции, итераторы, генераторы и модули. Рассказано о новом загрузчике файлов, встроенной в веб-обозреватель СУБД, HTML-компонентах и шаблонах, средствах для захвата видео, наложении эффектов на звук. Рассмотрены технологии WebSocket для программирования веб- чата и WebRTC для создания службы видеотелефонии. Описаны прогрессивные веб-приложения (PWA), посредники и программируемый кэш, вывод всплываю­ щих оповещений и установка PWA в операционной системе. Электронный архив на сайте издательства содержит коды всех примеров и ре­ зультаты выполнения упражнений. Для начинающих веб-разработчиков

Author(s): Владимир Дронов
Series: Для начинающих
Publisher: БХВ-Петербург
Year: 2022

Language: Russian
Pages: 352 с.
City: Санкт-Петербург

Оглавление
Предисловие
Зачем нужна еще одна книга по JavaScript?
Что описывает новая книга?
Что вам понадобится?
Типографские соглашения
ЧАСТЬ I. JAVASCRIPT: НОВЫЕ ИНСТРУМЕНТЫ
Урок 1. Классы, функции и деструктурирование
1.1. Новый синтаксис объявления классов
1.1.1. Старый синтаксис объявления классов и его недостатки
1.1.2. Новый синтаксис объявления классов
1.1.3. Закрытые свойства и методы
1.1.4. Статические свойства и методы
1.1.5. Наследование классов
1.1.6. Анонимные классы
1.2. Упражнение. Создаем веб-компонент — спойлер
1.3. Упражнение. Совершенствуем спойлер
1.4. Новые инструменты для работы с функциями
1.4.1. Функции с произвольным количеством параметров. Оператор упаковки-распаковки
1.4.2. Использование оператора упаковки-распаковки в вызовах функций
1.5. Упражнение. Реализуем массовую инициализацию спойлеров
1.6. Деструктурирование
1.6.1. Деструктурирование массивов
1.6.2. Деструктурирование объектов
1.7. Упражнение. Упрощение кода спойлера Spoiler2
1.8. Самостоятельное упражнение
Урок 2. Промисы и асинхронные функции
2.1. Промисы
2.1.1. Старые приемы выполнения асинхронных операций и их недостатки
2.1.2. Промисы. Создание промисов
2.1.3. Обработка промисов
2.1.4. Массовая обработка промисов
2.1.5. Дополнительные инструменты для работы с промисами
2.2. Упражнение. Загрузка файлов посредством AJAX
2.3. Упражнение. Массовая загрузка файлов
2.4. Асинхронные функции и оператор ожидания
2.4.1. Асинхронные методы в классах
2.5. Самостоятельные упражнения
Урок 3. Итераторы и генераторы
3.1. Цикл перебора последовательности
3.2. Итераторы
3.3. Упражнение. Вычисляем числа Фибоначчи
3.4. Генераторы
3.4.1. Методы-генераторы в классах
3.5. Упражнение. Вычисление квадратных корней
3.6. Асинхронные итераторы и генераторы
3.6.1. Асинхронные итераторы и цикл перебора с ожиданием
3.6.2. Асинхронные генераторы
3.6.2.1. Асинхронные методы-генераторы
3.7. Упражнение. Массовая загрузка файлов, вариант 2
3.8. Самостоятельные упражнения
Урок 4. Модули
4.1. Старый способ скрытия деталей реализации и его недостатки
4.2. Модули
4.2.1. Экспорт
4.2.2. Импорт
4.2.3. Прогон
4.3. Упражнение. Реорганизация кода спойлера
4.4. Самостоятельное упражнение
ЧАСТЬ II HTML API: НОВЫЕ ПОЛЕЗНЫЕ МЕЛОЧИ
Урок 5. Детектор видимости
5.1. Использование детектора видимости
5.1.1. Создание детектора видимости
5.1.2. Указание отслеживаемых элементов
5.1.3. Отслеживание попадания элементов в область видимости
5.2. Упражнение. Делаем подсвечивающиеся изображения
5.3. Самостоятельное упражнение
Урок 6. Загрузчик данных AJAX
6.1. Отправка запроса на загрузку данных
6.1.1. Задание заголовков НТТР-запроса
6.1.2. Управление кэшированием загруженных данных
6.1.3. Использование объектов запросов
6.2. Получение загруженных данных
6.3. Упражнение. Загружаем и выводим список языков программирования
6.4. Самостоятельные упражнения
Урок 7. Встроенная СУБД
7.1. Введение во встроенную СУБД
7.2. Создание баз данных
7.2.1. Создание и удаление самих баз данных
7.2.2. Создание и удаление хранилищ
7.2.3. Создание индексов
7.2.4. Создание и удаление индексов в существующих хранилищах
7.3. Запись и выборка данных
7.3.1. Открытие базы данных
7.3.2. Добавление документов. Работа с транзакциями
7.3.2.1. Этап 1: запуск транзакции
7.3.2.2. Этап 2: получение хранилища
7.3.2.3. Этап 3: собственно добавление документов
7.3.2.4. Подтверждение и откат транзакций
7.2.3.5. Добавление начальных документов
7.3.3. Поиск документов
7.3.3.1. Поиск документа по ключу
7.3.3.2. Поиск документа по значению индексированного свойства
7.3.3.3. Поиск документа в диапазоне значений
7.3.4. Выборка и фильтрация документов
7.3.4.1. Последовательная выборка документов. Курсоры
7.3.4.2. Одновременная выборка всех документов
7.3.5. Получение количества документов
7.3.6. Правка документов
7.3.6.1. Правка произвольного документа
7.3.6.2. Правка документов в процессе их выборки
7.3.7. Удаление документов
7.3.7.1. Удаление произвольных документов
7.3.7.2. Удаление документов в процессе их выборки
7.3.8. Закрытие базы данных
7.4. Упражнение. Пишем веб-приложение — телефонную книгу
7.5. Отладочные инструменты для работы с базами данных
7.6. Самостоятельное упражнение
Урок 8. Фоновые задачи
8.1. Фоновые задачи
8.1.1. Регистрация и выполнение фоновых задач
8.1.2. Получение сведений о времени, отводимом на выполнение фоновой задачи
8.1.3. Отмена фоновых задач
8.2. Синхронный вывод на экран
8.3. Упражнение. Вычисление чисел Фибоначчи, вариант 2
8.4. Самостоятельное упражнение
ЧАСТЬ III. HTML-КОМПОНЕНТЫ И ШАБЛОНЫ
Урок 9. HTML-компоненты
9.1. Создание HTML-компонентов
9.1.1. Объявление класса HTML-компонента
9.1.1.1. Создание скрытой DOM
9.1.1.2. Создание внутренней структуры HTML-компонента
9.1.1.3. Передача параметров HTML-компонентам
9.1.1.4. Получение содержимого тега HTML-компонента
9.1.2. Регистрация HTML-компонентов
9.2. Размещение HTML-компонентов на веб-странице
9.3. Упражнение. Пишем HTML-компонент — спойлер
9.4. Дополнительные инструменты для работы с HTML-компонентами
9.4.1. Волшебные методы HTML-компонентов
9.4.2. Средства CSS для работы с HTML-компонентами
9.4.3. Проверка регистрации HTML-компонентов
9.5. Самостоятельные упражнения
Урок 10. Шаблоны и слоты
10.1. Шаблоны
10.1.1. Написание шаблонов
10.1.2. Использование шаблонов
10.2. Слоты
10.2.1. Создание слотов
10.2.2. Использование слотов
10.3. Упражнение. Пишем HTML-компонент — спойлер, вариант 2
10.4. Дополнительные инструменты для работы с шаблонами и слотами
10.5. Самостоятельное упражнение
ЧАСТЬ IV. МУЛЬТИМЕДИА
Урок 11. Работа со встроенной камерой, часть 1
11.1. Захват видео с камеры
11.2. Запись видео
11.3. Упражнение. Пишем веб-приложение для записи видео
11.4. Упражнение. Реализуем выгрузку записанного видео на сервер
11.5. Захват и запись звука
11.6. Захват видео с экрана
11.7. Захват статичных изображений
11.8. Самостоятельные упражнения
Урок 12. Работа со встроенной камерой, часть 2
12.1. Задание параметров видео и звука
12.1.1. Параметры, доступные для указания
12.1.1.1. Параметры видео
12.1.1.2. Параметры звука
12.1.2. Получение списка поддерживаемых параметров
12.1.3. Смена параметров видео и звука во время захвата
12.2. Упражнение. Реализуем переключение между фронтальной и тыловой камерами
12.3. Задание параметров статичных изображений
12.3.1. Параметры, доступные для указания
12.3.2. Получение допустимых значений параметров
12.4. Получение текущих параметров
12.4.1. Получение параметров видео и звука
12.4.2. Получение параметров статичных изображений
12.5. Самостоятельные упражнения
Урок 13. Обработка звука
13.1. Как выполняется обработка звука
13.2. Реализация обработки звука
13.2.1. Создание звукового контекста
13.2.2. Создание источника звука
13.2.3. Создание и присоединение обработчиков звука
13.2.4. Присоединение получателя звука
13.2.5. Решение проблемы с приостановленным звуковым контекстом
13.3. Обработчики звука
13.3.1. Эффект панорамирования
13.3.2. Управление усилением
13.3.3. Биквадратный фильтр
13.4. Упражнение. Пишем аудиопроигрыватель с усилением басов
13.5. Дополнительные инструменты для обработки звука
13.6. Самостоятельное упражнение
Урок 14. Визуализация звука
14.1. Анализатор звука
14.1.1. Создание анализатора звука
14.1.2. Вывод осциллограммы
14.1.3. Вывод спектра
14.2. Упражнение. Пишем аудиопроигрыватель, выводящий осциллограмму
14.3. Упражнение. Пишем аудиопроигрыватель, выводящий спектр
14.4. Самостоятельные упражнения
ЧАСТЬ V. РАБОТА С СЕТЬЮ
Урок 15. WebSocket
15.1. Клиент WebSocket
15.1.1. Установление соединения с сервером
15.1.2. Отправка данных серверу
15.1.2.1. Отправка файлов серверу
15.1.3. Получение данных от сервера
15.1.3.1. Получение файлов от сервера
15.1.4. Разрыв соединения
15.1.5. Обработка ошибок
15.2. Сервер WebSocket
15.2.1. Библиотека Workerman
15.2.2. Класс слушателя
15.2.2.1. Настройка слушателя для работы по защищенной редакции WebSocket
15.2.3. Класс соединения
15.2.4. Запуск и остановка сервера
15.3. Упражнение. Пишем веб-чат
15.3.1. Веб-чат: технические детали
15.3.2. Веб-чат: сервер
15.3.3. Веб-чат: клиент
15.4. Самостоятельное упражнение
Урок 16. WebRTC
16.1. Организация вещания посредством WebRTC
16.1.1. Создание соединения WebRTC
16.1.2. Указание вещаемого медиапотока
16.1.3. Обмен приглашением и согласием
16.1.3.1. Вызывающий: создание приглашения
16.1.3.2. Вызываемый: получение приглашения и создание согласия
16.1.3.3. Вызывающий: получение согласия
16.1.4. Обмен претендентами
16.1.4.1. Отправка претендента
16.1.4.2. Получение и регистрация претендента
16.1.5. Присоединение к вещанию
16.1.6. Завершение вещания
16.2. Упражнение. Пишем службу видеотелефона
16.2.1. Видеотелефон: технические детали
16.2.2. Видеотелефон: сервер
16.2.3. Видеотелефон: клиент
16.3. Обмен произвольными данными посредством WebRTC
16.3.1. Создание канала данных. Равноправный режим
16.3.2. Отправка данных
16.3.3. Получение данных
16.3.4. Закрытие канала данных
16.3.5. Режим «главный — подчиненный»
16.4. Самостоятельное упражнение
ЧАСТЬ VI. ПРОГРЕССИВНЫЕ ВЕБ-ПРИЛОЖЕНИЯ (PWA)
Урок 17. Введение в прогрессивные веб-приложения
17.1. Что такое прогрессивное веб-приложение (PWA)?
17.2. Основные принципы разработки PWA
17.3. Отладка PWA
Урок 18. Посредники и программируемый кэш
18.1. Посредники
18.1.1. Регистрация посредника
18.1.2. Перехват запроса и формирование ответа
18.1.2.1. Формирование произвольных ответов
18.1.2.2. Получение параметров запроса
18.1.3. Удаление посредника
18.2. Программируемый кэш
18.2.1. Получение доступа к области кэша
18.2.2. Сохранение файлов в области кэша
18.2.3. Извлечение файлов
18.2.3.1. Извлечение файлов из области кэша
18.2.3.2. Извлечение файлов из кэша
18.2.4. Удаление файлов из области кэша
18.2.5. Удаление области кэша
18.3. Упражнение. Добавляем посредник в клиент веб-чата
18.4. Задачи посредника
18.4.1. Регистрация задач посредника
18.4.2. Выполнение задач посредника
18.4.3. Удаление задач посредника
18.5. Отладочные инструменты для работы с посредниками и кэшем
18.5.1. Инструменты для работы с посредниками
18.5.2. Инструменты для работы с программируемым кэшем
18.5.3. Инструменты для работы с задачами посредника
18.5.4. Удаление данных PWA
18.6. Самостоятельное упражнение
Урок 19. Всплывающие оповещения
19.1. Работа со всплывающими оповещениями
19.1.1. Запрос разрешения на вывод всплывающих оповещений
19.1.2. Вывод всплывающих оповещений
19.1.2.1. Вывод всплывающих оповещений фронтендом
19.1.2.2. Вывод всплывающих оповещений посредником
19.1.3. Управление всплывающими оповещениями
19.1.3.1. Управление всплывающими сообщениями во фронтендах
19.1.3.2. Управление всплывающими сообщениями в посредниках
19.1.4. Активация клиента
19.1.4.1. Активация клиента в коде фронтенда
19.1.4.2. Активация клиента в коде посредника
19.1.5. Удаление всплывающих оповещений
19.2. Упражнение. Реализуем вывод всплывающих оповещений у клиента веб-чата
19.3. Самостоятельное упражнение
Урок 20. Манифест PWA. Установка веб-приложений
20.1. Манифест PWA
20.1.1. Формат манифеста PWA
20.1.2. Привязка манифеста к веб-странице PWA
20.2. Установка PWA
20.2.1. Установка PWA на мобильных платформах
20.2.2. Установка PWA на настольных платформах
20.3. Упражнение. Веб-чат: пишем манифест и реализуем установку
20.4. Отладочные инструменты для работы с манифестом PWA
Заключение
Приложение. Описание электронного архива
Предметный указатель