Книга посвящена разработке современных веб-приложений с использованием JavaScript и встроенных возможностей браузера на основе Web API. Приведены практические примеры реализации функций, которые ранее требовали сторонних плагинов: диалоговые окна, работа с геолокацией и другими возможностями, предоставляемыми браузером. Освещаются как устоявшиеся, так и находящиеся в стадии разработки API-интерфейсы, позволяющие создавать мощные и интерактивные веб-приложения, глубоко интегрированные с устройствами пользователей. Рассматривается, как браузеры реализуют модель разрешений для предоставления доступа к таким функциям, как геолокация и push-уведомления. Каждая задача в книге сопровождается готовыми рецептами, содержащими описание проблемы, решение с пояснениями и расширенное обсуждение. Книга ориентирована на программистов с опытом работы на JavaScript, знакомых с программным интерфейсом DOM (Document Object Model).

Промис (promise).
Многие новые API-интерфейсы используют промисы. Promise— это объект, возвращаемый из функции, который является плейсхолдером для конечного результата асинхронного действия. Вместо того чтобы прослушивать событие, вы вызываете then для объекта Promise. Вы передаете callback-функцию в then, которая в конечном итоге вызывается с результатом в качестве аргумента. Для обработки ошибок вы передаете другую функцию обратного вызова методу catch промиса.
Промис выполняется, когда операция завершается успешно, и отклоняется, когда возникает ошибка. Значение, полученное в ходе успешного выполнения, передается в качестве аргумента для последующего вызова callback-функции в then, либо передается отклоненное значение в качестве аргумента callback-функции в catch.
ОГЛАВЛЕНИЕ.
ПРЕДИСЛОВИЕ.
Возможности современных браузеров.
Недостатки сторонних библиотек.
Для кого предназначена эта книга.
Что содержится в этой книге.
Дополнительные ресурсы.
Соглашения об используемых обозначениях.
Использование примеров кода.
Платформа онлайн-обучения O'Reilly.
Как с нами связаться.
Благодарности.
ГЛАВА 1. АСИНХРОННЫЕ API.
1.0. Введение.
1.1. Работа с про ми сами.
1.2. Загрузка изображения с помощью использования резервного изображения (fallback).
1.3. Связывание промисов.
1.4. Использование ключевых слов async и await.
1.5. Параллельное использование промисов.
1.6. Анимация элемента с помощью requestAnimationFrame.
1.7. Обертывание событий API в промис.
ГЛАВА 2. ПРОСТОЕ СОХРАНЕНИЕ ДАННЫХ С ПОМОЩЬЮ WEB STORAGE API.
2.0. Введение.
2.1. Проверка поддержки Web Storage.
2.2. Сохранение строковых данных.
2.3. Сохранение простых объектов.
2.4. Сохранение сложных объектов.
2.5. Отслеживание изменений в хранилище.
2.6. Поиск всех известных ключей.
2.7. Удаление данных.
ГЛАВА 3. URL-AДPECA и МАРШРУТИЗАЦИЯ.
3.0. Введение.
3.1. Определение относительного URL-aдpeca.
3.2. Удаление параметров запроса из URL-aдpeca.
3.3. Добавление параметров запроса к URL-aдpecy.
3.4. Чтение параметров запроса.
3.5. Создание простого маршрутизатора на стороне клиента.
3.6. Сопоставление URL-aдpecoв с шаблонами.
ГЛАВА 4. СЕТЕВЫЕ ЗАПРОСЫ.
4.0. Введение.
4.1. Отправка запроса с помощью XMLHttpRequest.
4.2. Отправка GЕТ-запроса с помощью Fetch API.
4.3. Отправка РОSТ-запроса с помощью Fetch API.
4.4. Загрузка файла с помощью Fetch API.
4.5. Отправка Beacon.
4.6. Прослушивание удаленных событий с помощью server-sent events.
4.7. Обмен данными с WebSockets в режиме реального времени.
ГЛАВА 5. БАЗА ДАННЫХ INDEXEDDB.
5.0. Введение.
5.1. Создание, чтение и удаление объектов в базе данных.
5.2. Обновление существующей базы данных.
5.3. Выполнение запросов с использованием индексов.
5.4. Поиск строковых значений с помощью курсора.
5.5. Разбивка большого набора данных на страницы.
5.6. Использование промисов с IndexedDB API.
ГЛАВА 6. НАБЛЮДЕНИЕ ЗА ЭЛЕМЕНТАМИ DOM.
6.0. Введение.
6.1. Отложенная загрузка изображения при прокрутке.
6.2. Обертывание IntersectionObserver промисом.
6.3. Автоматическая пауза при воспроизведении видео.
6.4. Анимация изменений высоты.
6.5. Изменение содержимого элемента в зависимости от размера.
6.6. Применение перехода в момент появления элемента в поле зрения.
6. 7. Использование режима бесконечной прокрутки.
ГЛАВА 7. ФОРМЫ.
7.0. Введение.
7.1. Заполнение поля формы из локального хранилища.
7.2. Отправка формы с помощью Fetch и FormData API.
7.3. Отправка формы в формате JSON.
7.4. Создание обязательного поля формы.
7.5. Ограничения при вводе числа.
7.6. Определение шаблона валидации.
7. 7. Валидация формы.
7.8. Применение пользовательской логики валидации.
7.9. Проверка группы флажков.
7.10. Асинхронная проверка поля формы.
ГЛАВА 8. API ВЕБ-АНИМАЦИИ.
8.0. Введение.
8.1. Применение эффекта "пульсации" при нажатии кнопки.
8.2. Запуск и остановка анимации.
8.3. Анимация вставки и удаления элементов DOM.
8.4. Реверсирование анимации.
8.5. Отображение индикатора прокрутки.
8.6. Создание подпрыгивающего элемента.
8.7. Одновременный запуск нескольких анимаций.
8.8. Отображение анимации загрузки.
8.9. Соблюдение в анимации предпочтений пользователя.
ГЛАВА 9. WEB SPEACH API.
9.0. Введение.
9.1. Добавление продиктованного текста в текстовое поле.
9.2. Создание Рrоmisе-помощника для распознавания речи.
9.3. Получение доступных голосов.
9.4. Синтез речи.
9.5. Настройка параметров синтеза речи.
9.6. Автоматическая приостановка речи.
ГЛАВА 10. РАБОТ А С ФАЙЛАМИ.
10.0. Введение.
10.1. Загрузка текста из файла.
10.2. Загрузка изображения из URL-aдpeca данных.
10.3. Загрузка видео в качестве URL-aдpeca объекта.
10.4. Загрузка изображения с помощью перетаскивания.
10.5. Проверка и запрос разрешений.
10.6. Экспорт данных API в файл.
1 О. 7. Экспорт данных API со ссылкой для скачивания.
10.8. Загрузка файла с помощью перетаскивания.
ГЛАВА 11. ИНТЕРНАЦИОНАЛИЗАЦИЯ.
11.0. Введение.
11.1. Форматирование даты.
11.2. Получение частей отформатированной даты.
11.3. Форматирование относительной даты.
11.4. Форматирование чисел.
11.5. Округление знаков после точки.
11.6. Форматирование ценового диапазона.
11. 7. Форматирование единиц измерения.
11.8. Применение правил плюрализации.
11.9. Подсчет символов, слов и предложений.
11.10. Форматирование списков.
11.11. Сортировка массива имен.
ГЛАВА 12. ВЕБ-КОМПОНЕНТЫ.
12.0. Введение.
12.1. Создание компонента для отображения сегодняшней даты.
12.2. Создание компонента для форматирования пользовательской даты.
12.3. Создание компонента обратной связи.
12.4. Создание компонента профильной карточки.
12.5. Создание компонента изображения с отложенной загрузкой.
12.6. Создание компонента раскрытия информации.
12.7. Создание стилизованного компонента кнопки.
ГЛАВА 13. ЭЛЕМЕНТЫ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ.
13.0. Введение.
13.1. Создание диалогового окна предупреждения.
13.2. Создание диалогового окна подтверждения.
13.3. Создание веб-компонента диалогового окна подтверждения.
13.4. Использование элемента раскрытия информации.
13.5. Отображение всплывающего окна.
13.6. Ручное управление всплывающим окном.
13. 7. Позиционирование всплывающего окна относительно элемента.
13.8. Отображение всплывающей подсказки.
13.9. Отображение уведомления.
ГЛАВА 14. ИНТЕГРАЦИЯ УСТРОЙСТВ.
14.0. Введение.
14.1. Считывание состояния батареи.
14.2. Считывание состояния сети.
14.3. Определение местоположения устройства.
14.4. Отображение местоположения устройства на карте.
14.5. Копирование и вставка текста.
14.6. Совместное использование контента с помощью Web Share API.
14.7. Создание вибрации устройства.
14.8. Настройка ориентации устройства.
ГЛАВА 15. ИЗМЕРЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ.
15.0. Введение.
15.1. Измерение производительности загрузки страниц.
15.2. Измерение эффективности использования ресурсов.
15.3. Поиск самых медленных ресурсов.
15.4. Определение тайминга для конкретного ресурса.
15.5. Профилирование производительности рендеринга.
15.6. Профилирование многоэтапных задач.
15. 7. Прослушивание показателей производительности.
ГЛАВА 16. РАБОТА С КОНСОЛЬЮ.
16.0. Введение.
16.1. Стилизации вывода консоли.
16.2. Использование уровней в журналах сообщений.
16.3. Создание именованных регистраторов.
16.4. Отображение массива объектов в таблице.
16.5. Использование консольных таймеров.
16.6. Использование консольных групп.
16.7. Использование счетчиков.
16.8. Регистрация переменной и ее значения.
16.9. Протоколирование трассировки стека.
16.1 О. Проверка ожидаемых значений.
16.11. Изучение свойств объекта.
ГЛАВА 17. СSS.
17.0. Введение.
17.1. Выделение текстовых областей.
17.2. Предотвращение появления текста без стилизации.
17.3. Анимация переходов DOM.
17.4. Изменение таблиц стилей во время выполнения.
17.5. Условная установка СSS-класса.
17.6. Соответствие медиазапросам.
17.7. Получение вычисленного стиля элемента.
ГЛАВА 18. МЕДИА.
18.0. Введение.
18.1. Запись экрана.
18.2. Захват изображения с камеры пользователя.
18.3. Захват видео с камеры пользователя.
18.4. Определение возможностей системной поддержки медиа.
18.5. Применение видеофильтров.
ГЛАВА 19. ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ.
19.0. Введение.
19.1. В защиту сторонних библиотек.
19.2. Определяйте функции, а не версии браузера.
19.3. Полифилы.
19.4. Заглядывая в будущее.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ.
ОБ АВТОРЕ.
ОБ ИЗОБРАЖЕНИИ НА ОБЛОЖКЕ.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Web API, Сборник рецептов, Аттарди Д., 2025 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Хештеги: #учебник по программированию :: #программирование :: #Аттарди :: #промис :: #запрос :: #база данных :: #файл
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
Предыдущие статьи:












