Искусство WebAssembly
Book information
Description
В книге подробно рассматриваются принципы работы WebAssembly – компактной межплатформенной технологии, которая оптимизирует производительность ресурсоемких веб-приложений и программ. Вы узнаете, как оптимизировать, компилировать и отлаживать низкоуровневый код, сравнивать его производительность с JavaScript, а также представлять код в удобном для прочтения текстовом формате WebAssembly Text (WAT). Затем сможете создать программу обнаружения столкновений на базе браузера, поработать с технологиями рендеринга в браузере для создания графики и анимации и выяснить, как WebAssembly взаимодействует с другими языками программирования. Книга адресована веб-разработчикам, желающим понять, как создавать и развертывать приложения на основе WebAssembly, а также пользователям, которые хотят изучить и применять эту технологию. От издательства О техническом рецензенте Об авторе Предисловие Благодарности Введение Глава 1. Введение в WebAssembly Что такое WebAssembly? Причины использовать WebAssembly Интеграция существующих библиотек Повышение производительности Портируемость на другие платформы и безопасность Противники JavaScript Связь WebAssembly с JavaScript Зачем учить WAT? Стили кодирования WAT Среда встраивания WASI Браузер Visual Studio Code Node.js Наше первое приложение WebAssembly с помощью Node.js Вызов модуля WebAssembly из Node.js Синтаксис .then Удачное время Глава 2. Основы работы с WebAssembly Text Hello World в WebAssembly Создание WAT-модуля Создание файла JavaScript Написание простейшего модуля Переменные WAT Глобальные переменные и преобразование типов Локальные переменные Распаковка S-выражений Переменные с индексами Преобразование между типами Условные операторы if/else Операторы цикла и блока Оператор блока (block) Оператор цикла (loop) Совместное использование операторов блока и цикла Переход с помощью br_table Заключение Глава 3. Функции и таблицы Когда следует вызывать функции из WAT Разработка функции is_prime Передача параметров Создание внутренних функций Функция is_prime Код на стороне JavaScript Объявление импортированной функции Объекты в WAT Передача типов данных Числа JavaScript Влияние вызовов внешних функций на производительность Таблицы функций Создание таблицы функций в WAT Заключение Глава 4. Низкоуровневые битовые операции Системы счисления: двоичная, десятичная и шестнадцатеричная Арифметические операции над целыми числами и числами с плавающей запятой Целые числа Числа с плавающей запятой Биты старшего и младшего разрядов Битовые операции Сдвиг и вращение битов Маскирование битов с помощью AND и OR Инверсия битов с помощью XOR Обратный vs. прямой порядок байтов Заключение Глава 5. Строки в WebAssembly ASCII и Unicode Строки в линейной памяти Передача длины строки в JavaScript Строки с завершающим нулем Строки с префиксом длины Копирование строк Создание числовых строк Создание шестнадцатеричной строки Создание двоичной строки Заключение Глава 6. Линейная память Линейная память в WebAssembly Страницы Указатели Объект памяти JavaScript Создание объекта памяти WebAssembly Запись в консоль в цвете Создание JavaScript в store_data.js Обнаружение столкновений Начальный адрес, шаг и сдвиг Загрузка структур данных из JavaScript Отображение результатов Функция обнаружения столкновений Заключение Глава 7. Веб-приложения DOM Создание и настройка простого сервера Node Первое веб-приложение WebAssembly JavaScript Определение HTML-заголовка HTML-тег Готовое веб-приложение Шестнадцатеричные и двоичные строки HTML WAT Компиляция и запуск Заключение Глава 8. Работа с Canvas Рендеринг HTML-страницы на холсте Определение холста в HTML Определение констант JavaScript в HTML Создание случайных объектов Данные растрового изображения Функция requestAnimationFrame Модуль WAT Импортируемые значения Очистка холста Функция вычисления абсолютного значения Установка цвета пикселя Рисуем объект Установка и получение атрибутов объекта Функция $main Компиляция и запуск приложения Заключение Глава 9. Оптимизация производительности Использование профилировщика Профилировщик Chrome Профилировщик Firefox wasm-opt Запуск wasm-opt Установка Binaryen Взглянем на оптимизированный код WAT Приемы повышения производительности Встраивание функций Умножение и деление vs. сдвиг DCE Сравнение приложения обнаружения столкновений с JavaScript Оптимизация WAT вручную Запись производительности в лог Более сложное тестирование с помощью benchmark.js Сравнение WebAssembly и JavaScript с флагом --print-bytecode Заключение Глава 10. Отладка WebAssembly Отладка из консоли Запись сообщений в консоль Предупреждения об ошибках Трассировка стека Отладчик Firefox Отладчик Chrome Заключение Глава 11. AssemblyScript Интерфейс командной строки в AssemblyScript Приложение Hello World на AssemblyScript Код JavaScript для приложения Hello World Приложение Hello World в загрузчике AssemblyScript Объединение строк AssemblyScript Объектно-ориентированное программирование на AssemblyScript Приватные атрибуты Среда встраивания JavaScript Загрузчик AssemblyScript Расширение классов в AssemblyScript Сравнение производительности загрузчика и прямых вызовов WebAssembly Заключение Послесловие Предметный указатель О техническом рецензенте Об авторе Предисловие Благодарности Введение Глава 1. Введение в WebAssembly Что такое WebAssembly? Причины использовать WebAssembly Интеграция существующих библиотек Повышение производительности Портируемость на другие платформы и безопасность Противники JavaScript Связь WebAssembly с JavaScript Зачем учить WAT? Стили кодирования WAT Среда встраивания WASI Браузер Visual Studio Code Node.js Наше первое приложение WebAssembly с помощью Node.js Вызов модуля WebAssembly из Node.js Синтаксис .then Удачное время
Similar books
The Art of WebAssembly: Build Secure, Portable, High-Performance Applications
2021 · PDF
Искусство Web As sembly. Создание безопасных межплатформенных высокопроизводительных приложений
2022 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF