You donโt need to know WebAssembly to use asterai. Write components in TypeScript, Python, Rust, Go, or any supported language. The asterai CLI handles compilation automatically. This page is for those curious about the underlying technology.Documentation Index
Fetch the complete documentation index at: https://asterai.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Why WebAssembly?
Asterai uses WebAssembly (WASM) as its portable execution format. This gives us:- ๐ Language independence: Any language that compiles to WASM works with asterai
- ๐ Sandboxed execution: Components run in isolation with explicit permissions
- โก Near-native performance: WASM executes efficiently on any platform
- ๐ค Portability: The same compiled component runs locally, in the cloud, or at the edge
WASI and the Component Model
Asterai uses WASI (WebAssembly System Interface) Preview 2 and the WebAssembly Component Model. This is an emerging standard for building modular, composable WebAssembly applications. Key concepts:- Components: Self-contained units with typed interfaces (not just raw WASM modules)
- WIT (WebAssembly Interface Types): A language for defining component interfaces
- Composition: Components can import and export functionality, enabling true modularity
โ ๏ธ Experimental Technology
The WebAssembly Component Model is still evolving. Asterai is making a bet on this technology as the future of modular, portable software. What this means for you:- ๐ง Tooling is improving rapidly: Expect better error messages and faster compilation over time
- ๐ง Some rough edges: You may encounter edge cases or limitations
- ๐ Breaking changes possible: The underlying standards are stabilizing but not frozen