وبلاگ بلیان

Искусство Web As sembly. Создание безопасных межплатформенных высокопроизводительных приложений

معرفی کتاب «Искусство Web As sembly. Создание безопасных межплатформенных высокопроизводительных приложений» نوشتهٔ Рик Баттальини; перевод с английского П. М. Бомбаковой، منتشرشده توسط نشر ДМК Пресс در سال 2022. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

В книге подробно рассматриваются принципы работы WebAssembly – компакт- ной межплатформенной технологии, которая оптимизирует производительность ресурсоемких веб-приложений и программ. Вы узнаете, как оптимизировать, компилировать и отлаживать низкоуровневый код, сравнивать его производительность с JavaScript, а также представлять код в удобном для прочтения текстовом формате WebAssembly Text (WAT). Затем смо- жете создать программу обнаружения столкновений на базе браузера, поработать с технологиями рендеринга в браузере для создания графики и анимации и выяс- нить, как WebAssembly взаимодействует с другими языками программирования. Книга адресована веб-разработчикам, желающим понять, как создавать и раз- вертывать приложения на основе WebAssembly, а также пользователям, которые хотят изучить и применять эту технологию. От издательства О техническом рецензенте Об авторе Предисловие Благодарности Введение Глава 1. Введение в WebAssembly Что такое Web­As­semb­ly? Причины использовать Web­As­semb­ly Интеграция существующих библиотек Повышение производительности Портируемость на другие платформы и безопасность Противники Java­Script Связь Web­As­semb­ly с Java­Script Зачем учить WAT? Стили кодирования WAT Среда встраивания WASI Браузер Visual Studio Code Node.js Наше первое приложение Web­As­semb­ly с по­мощью Node.js Вызов модуля Web­As­semb­ly из Node.js Синтаксис .then Удачное время Глава 2. Основы работы с WebAssembly Text Hello World в WebAssembly Создание WAT-модуля Создание файла Java­Script Написание простейшего модуля Переменные WAT Глобальные переменные и преобразование типов Локальные переменные Распаковка S-выражений Переменные с индексами Преобразование между типами Условные операторы if/else Операторы цикла и блока Оператор блока (block) Оператор цикла (loop) Совместное использование операторов блока и цикла Переход с по­мощью br_table Заключение Глава 3. Функции и таблицы Когда следует вызывать функции из WAT Разработка функции is_prime Передача параметров Создание внутренних функций Функция is_prime Код на стороне Java­Script Объявление импортированной функции Объекты в WAT Передача типов данных Числа Java­Script Влияние вызовов внешних функций на производительность Таблицы функций Создание таблицы функций в WAT Заключение Глава 4. Низкоуровневые битовые операции Системы счисления: двоичная, десятичная и шестнадцатеричная Арифметические операции над целыми числами и числами с плавающей запятой Целые числа Числа с плавающей запятой Биты старшего и младшего разрядов Битовые операции Сдвиг и вращение битов Маскирование битов с по­мощью AND и OR Инверсия битов с по­мощью XOR Обратный vs. прямой порядок байтов Заключение Глава 5. Строки в WebAssembly ASCII и Unicode Строки в линейной памяти Передача длины строки в Java­Script Строки с завершающим нулем Строки с префиксом длины Копирование строк Создание числовых строк Создание шестнадцатеричной строки Создание двоичной строки Заключение Глава 6. Линейная память Линейная память в Web­As­semb­ly Страницы Указатели Объект памяти Java­Script Создание объекта памяти Web­As­semb­ly Запись в консоль в цвете Создание Java­Script в store_data.js Обнаружение столкновений Начальный адрес, шаг и сдвиг Загрузка структур данных из Java­Script Отображение результатов Функция обнаружения столкновений Заключение Глава 7. Веб-приложения DOM Создание и настройка простого сервера Node Первое веб-приложение Web­As­semb­ly Java­Script Определение HTML-заголовка HTML-тег Готовое веб-приложение Шестнадцатеричные и двоичные строки HTML WAT Компиляция и запуск Заключение Глава 8. Работа с Canvas Рендеринг HTML-страницы на холсте Определение холста в HTML Определение констант Java­Script в HTML Создание случайных объектов Данные растрового изображения Функция requestAnimationFrame Модуль WAT Импортируемые значения Очистка холста Функция вычисления абсолютного значения Установка цвета пикселя Рисуем объект Установка и получение атрибутов объекта Функция $main Компиляция и запуск приложения Заключение Глава 9. Оптимизация производительности Использование профилировщика Профилировщик Chrome Профилировщик Firefox wasm-opt Запуск wasm-opt Установка Binaryen Взглянем на оптимизированный код WAT Приемы повышения производительности Встраивание функций Умножение и деление vs. сдвиг DCE Сравнение приложения обнаружения столкновений с Java­Script Оптимизация WAT вручную Запись производительности в лог Более сложное тестирование с помощью benchmark.js Сравнение WebAssembly и Java­Script с флагом --print-bytecode Заключение Глава 10. Отладка WebAssembly Отладка из консоли Запись сообщений в консоль Предупреждения об ошибках Трассировка стека Отладчик Firefox Отладчик Chrome Заключение Глава 11. AssemblyScript Интерфейс командной строки в AssemblyScript Приложение Hello World на AssemblyScript Код Java­Script для приложения Hello World Приложение Hello World в загрузчике AssemblyScript Объединение строк AssemblyScript Объектно-ориентированное программирование на AssemblyScript Приватные атрибуты Среда встраивания Java­Script Загрузчик AssemblyScript Расширение классов в AssemblyScript Сравнение производительности загрузчика и прямых вызовов WebAssembly Заключение Послесловие Предметный указатель О техническом рецензенте Об авторе Предисловие Благодарности Введение Глава 1. Введение в WebAssembly Что такое Web­As­semb­ly? Причины использовать Web­As­semb­ly Интеграция существующих библиотек Повышение производительности Портируемость на другие платформы и безопасность Противники Java­Script Связь Web­As­semb­ly с Java­Script Зачем учить WAT? Стили кодирования WAT Среда встраивания WASI Браузер Visual Studio Code Node.js Наше первое приложение Web­As­semb­ly с по­мощью Node.js Вызов модуля Web­As­semb­ly из Node.js Синтаксис .then Удачное время A a thorough, practice-based introduction to WebAssembly. Learn how to create high-performing, lightning-fast websites and applications. WebAssembly is the fast, compact, portable technology that optimizes the performance of resource-intensive web applications and programs. The Art of WebAssembly is designed to give web developers a solid understanding of how it works, when to use it (and when not to), and how to develop and deploy WebAssembly apps. First you'll learn how to optimize and compile low-level code, debug and evaluate WebAssembly, and represent WebAssembly in the human-readable WebAssembly Text (WAT) format. Once you have the basics down, you'll build a browser-based collision detection program, work with browser rendering technologies to create graphics and animations, and see how WebAssembly interacts with other web languages. You'll also learn how to:Embed WebAssembly applications in web browsers and Node.jsUse browser debuggers to evaluate your WebAssembly codeFormat variables, loops, functions, strings, data structures, and conditional logic in WATManipulate memoryBuild a program that generates graphical objects and detects when they collideEvaluate the output of a WebAssembly compiler The Art of WebAssembly will help you make sense of this powerful technology to boost the performance of your web applications.
دانلود کتاب Искусство Web As sembly. Создание безопасных межплатформенных высокопроизводительных приложений