Go в мире WebAssembly: не только браузер

Раздвигаем Go-ризонты

Бэкенд / другое
GO
WebAssembly (WASM)

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

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

Разработчики Go знали, что мы любим кросс-платформенность, поэтому добавили кросс-платформенность в нашу кросс-платформенность: Go-код можно компилировать и в байт-код для кросс-платформенной виртуальной машины. Доклад о том, зачем это, как, и о подводных камнях на кросс-платформенном пути.

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

Разработчики на Golang, которым интересно расширить свой кругозор, разработчики serverless- и embedded-решений.

Тезисы

WebAssembly (WASM) представляет собой виртуальную машину, предназначенную для выполнения высокопроизводительного кода, написанного на различных языках программирования, не только в браузере, но и в других средах. Хотя WASM изначально разрабатывался для веб-приложений, его потенциал выходит далеко за пределы браузеров, открывая новые возможности для создания кросс-платформенных приложений и сервисов.

Golang стал одним из первых языков, поддерживающих WASM, и в настоящее время занимает одно из ведущих мест среди языков с хорошей поддержкой этой технологии. В данном докладе мы сосредоточимся на внебраузерных применениях WASM, обсудим, как правильно подготавливать Go-приложения для запуска в WASM-рантайме, а также рассмотрим сложности, с которыми сталкиваются разработчики. Мы уделим внимание подводным камням, связанным с интеграцией Go с WASI (WebAssembly System Interface), и обсудим текущие вызовы, мешающие разработчикам компилятора Go поддерживать актуальные стандарты и расширять функциональность вне браузера.

Занимается языковыми рантаймами в Tarantool и разработкой инструментария для них. Интересуется компиляторными технологиями и распределенными системами.

VK Tech, Tarantool

VK Tech — команда из 1400 специалистов в России и Казахстане. Разрабатывают и продвигают облачные платформы и сервисы VK Cloud, in-memory СУБД Tarantool, коммуникационные решения — от почты VK WorkSpace до супераппа VK Teams и решения для автоматизации HR и финансов. Внутри: C++, Python, Go, Java, Javascript, Lua. Tarantool — middleware для эффективного создания высоконагруженных сервисов. Сочетает в себе сервер приложений, гибридное хранилище данных, а также инструменты и средства масштабирования. Производительность систем на Tarantool может достигать 1 млн транзакций в секунду.

Видео