На этом воркшопе мы напишем небольшую браузерную игру на Rust. Для начала разберемся с инструментами и скомпилируем Rust-проект в WebAssembly. Потом посмотрим, как использовать полученный wasm-модуль из JS. Решим проблему циклических ссылок в Rust и научимся работать с JS-коллбеками из Rust-кода. Напишем рендерер, используя 2D Canvas. И, если останется время, то обсудим мультиплеер или даже напишем свой сервер.
Перед воркшопом необходимо заранее установить Rust. Сделать это лучше всего через rustup, следуя инструкциям с официального сайта: https://rust-lang.org/tools/install.
Альтернативный вариант — использовать докер-образ rust:latest.
Далее добавляем цель сборки: rustup target add wasm32-unknown-unknown.
Устанавливаем утилиту для создания wasm-модулей: cargo install wasm-bindgen-cli --version 0.2.100.
Для сборки проекта в зависимости от операционной системы может потребоваться установить дополнительные пакеты, например на Ubuntu это, как правило, build-essential. Чат для помощи с настройкой окружения, если возникнут какие-то вопросы:
https://t.me/+2vI9ITkdle8zM2Ni.