Воркшоп «Пишем простую браузерную игру на Rust»

Языки программирования и технические стеки

Анимации и 2D/3D графика в браузере
WebAssembly (WASM)

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Вы хотите попрактиковаться на Rust? Вы хотите прикоснуться к gamedev? Вам интересно, как вообще можно подружить браузер с этим вот всем... Тогда вам определенно сюда! P. S. Формат воркшопа предполагает самостоятельную работу со своего ноутбука под контролем опытного ментора.

Целевая аудитория

Программисты, знакомые с вебом, которые хотят начать применять Rust в браузере. Или же Rust-разработчики, которые хотят начать писать под браузер.

Тезисы

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

Илья Барышников

Независимый консультант

Профессионально занимается программированием десять лет. Начинал с JS и node.js, последние семь лет пишет на Rust. Недавно увлекся Haskell в контексте разработки настольных GUI-приложений.

Видео