Серия обучающих текстов, посвященных первым шагам работы с WebAssembly, для начинающих.
Некоторое время назад я начал изучать WebAssembly как абсолютный новичок. Это было увлекательное, но не такое уж простое путешествие.
Я решил опубликовать свои непрерывные и, возможно, бесконечные заметки, чтобы сделать ваш путь обучения немного проще.
Вот актуальный список уже готовых постов. Я буду постоянно обновлять и расширять его.
Здравствуй, мир Wasm!
Давайте попробуем WebAssembly в первый раз. Мы создадим простую программу в текстовом формате Wat, скомпилируем ее в двоичный файл Wasm и, наконец, выполним в браузере и как серверное приложение.
Двоичный формат Wasm
Мы будем исследовать структуру двоичного формата Wasm байт за байтом.
Основы программирования Ват
Наконец-то настоящее программирование! Мы изучим самые основы текстового формата Wat, как работать с функциями и переменными, писать условия и циклы.
Память Wasm и работа со строками
Концепция объектов памяти — очень важное ноу-хау в Wasm. Мы будем использовать его для работы со строками.
Запуск Wasm в браузере
WebAssembly является частью веб-платформы, поэтому важно понимать взаимодействие между Wasm и JavaScript. Мы узнаем об общей памяти и глобальных переменных.
Запуск Wasm в Node.js
Браузер — не единственная среда, в которой может работать Wasm. Мы также узнаем, как запускать Wasm в Node.js, популярной серверной платформе.
Знакомство с ВАСИ
Системный интерфейс WebAssembly (WASI) обеспечивает доступ к нескольким функциям операционной системы Wasm. Мы научимся писать программы, использующие WASI.
Компиляция в Wasm
Существует множество языков, которые можно скомпилировать в Wasm. Мы рассмотрим некоторые из них.
Основы ассемблера
Синтаксис ассемблера очень близок к JavaScript и поэтому является идеальным кандидатом для написания Wasm. Мы изучим основы ассемблера и создадим несколько изящных программ.
Обработка изображений на ассемблере
WebAssembly отлично подходит для ресурсоемких задач, таких как создание и обработка графики. Поэкспериментируем в этой области немного.
Присоединяйтесь ко мне в увлекательном путешествии по изучению WebAssembly!