← На главную

35 МБ WebAssembly-движок запускается в любом браузере

09.05.2026 15:40 · hackernews

Авторы проекта выгрузили каркас игры в WebAssembly всего несколько часов назад и удивились размеру полученного артефакта. Полноценный 3D-движок с совместимостью GL, физикой Jolt,运行时 GDScript и интерпретатором истории Ink весит всего 35 МБ. Этот бинарный файл запускается в любом браузере без установки. Главная страница Facebook грузит 44 МБ, а этот игровой движок — 35 МБ. Для сравнения: базовый образ python:3.14-slim-trixie занимает 144 МБ, а минимальная сборка с помощью uv выливается в 282 МБ. Размеры веб-ресурсов из личного кэша браузера и локального хранилища Docker демонстрируют контраст: главная страница Google весит 10 МБ против 35 МБ для игры на движке Godot 4, при этом сервер LiveKit на языке Go требует 75 МБ, а образ Node.js набрал 421 МБ. Пайтон-агент из рабочей задачи достиг 1,45 ГБ. Готовая статическая HTML-страница от Hugo требует 423 МБ, тогда как игровой движок составляет лишь 35 МБ. Бинарники на Go уже близки к этому показателю. Открытый вопрос в том, почему Go может считаться решением, а wasip1 всё ещё находится в статусе preview, не поддерживая сокеты в стандартной runtime и потоки. Zig тоже не готов. Сегодня работают только Rust и C/C++. Облачные Workers от Cloudflare могут загружать модули WASM, в containerd есть runwasi, в Kubernetes экспериментируют с kwasm. Существуют runtime для WASI. Почему внедрение замедлилось? Случай размера передачи уже решен: разница в 10 раз уже есть. Этого недостаточно для внедрения в практику? Ситуация похожа на узлы ARM пару лет назад: они стали дешевле, компактнее и доступны повсеместно, но до сих пор не являются стандартом де-факто.

Читать оригинал →