Back to browse
GitHub Repository

Go in the browser. A WebAssembly-based Go runtime implemented in Rust

5 starsRust

Gowasm – a browser-first Go execution environment in Rust/WebAssembly

by mjgil·May 13, 2026·4 points·0 comments

AI Analysis

●●SolidWizardryBig Brain

Reimplementing Go runtime in Rust for browser execution is ambitious.

Strengths
  • Implements cooperative goroutine scheduling and channels without OS threads.
  • Supports generics and interfaces despite targeting a constrained WASM environment.
  • Browser-backed adapters for net/http and io/fs enable realistic sandboxed apps.
Weaknesses
  • No cgo or plugin support limits utility to pure-Go educational workloads only.
  • Cooperative scheduling means CPU-bound loops can still freeze the browser tab.
Target Audience

Educators building Go playgrounds and tutorial platforms

Similar To

GopherJS · Go Playground · AssemblyScript

Post Description

It implements a substantial Go language/runtime slice targeted at tutorial, playground, and small app workloads. Goroutines, channels, select, interfaces, generics, defer/panic/recover, maps, slices — all supported. The Rust/WASM compile path lets you run Go directly in the browser via a dedicated WebAssembly engine with a browser-managed worker. Currently supports: time, net/http, io/fs, context, narrow os, json, regexp, crypto/*, and more.

Similar Projects

Developer Tools●●●Banger

I built a PHP-to-native compiler (written in Rust); now it runs DOOM

Compiles PHP to native ARM64 and renders DOOM E1M1 at 15 FPS—yes, really.

WizardryZero to OneRabbit Hole
nahime
332mo ago
AI/MLMid

Gymnasium RL Environments in Julia

Julia port of Gymnasium environments, but Python's RL ecosystem already dominates this space.

Niche Gem
scascino4
201mo ago
Developer Tools●●Solid

BitFun – An Agentic Development Environment (Rust and TypeScript)

Agent-centric IDE with autonomous code read/edit/run/verify, but lacks shipping demo or user adoption proof.

Big BrainShip It
clearme
113mo ago