На этом воркшопе мы напишем небольшую браузерную игру на 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