Repolode
bytecodealliance

bytecodealliance/wasmtime

Runtime independiente de WebAssembly basado en el generador de código Cranelift, con compatibilidad con WASI e integración en varios lenguajes.

Estrellas
18,744
Forks
1,879
Issues abiertos
888
Último commit
hace 4 horas

¿Qué es?

Wasmtime es un runtime independiente para WebAssembly, el formato binario portable para código que se ejecuta en navegadores y fuera de ellos. Permite ejecutar componentes de WebAssembly desde la línea de comandos con el CLI de wasmtime o integrarlo en aplicaciones mediante su crate de Rust y sus bindings para C, C++, Python, .NET, Go y Ruby.

Compila módulos con el generador de código Cranelift, ya sea justo a tiempo durante la ejecución o de forma anticipada. El proyecto ofrece opciones de configuración para el uso de CPU y memoria, y proporciona APIs de WASI para que los programas invitados puedan interactuar con el entorno anfitrión, por ejemplo, con archivos y recursos del sistema. El proyecto afirma que supera la suite oficial de pruebas de WebAssembly e implementa la API oficial de wasm para C.

Wasmtime se mantiene bajo la Bytecode Alliance y está escrito en Rust.

Funciones clave

  • 01Compila WebAssembly con el generador de código Cranelift, durante la ejecución o de forma anticipada.
  • 02Proporciona APIs de WASI para que los programas invitados accedan a los recursos del anfitrión.
  • 03Ofrece opciones de configuración para controlar el consumo de CPU y memoria.
  • 04Incluye un CLI para ejecutar componentes de WebAssembly directamente.
  • 05Ofrece bindings para integrar el runtime con Rust, C, C++, Python, .NET, Go y Ruby.

Casos de uso

  • Ejecutar componentes de WebAssembly desde la línea de comandos.
  • Integrar un runtime aislado de WebAssembly en una aplicación de Rust o C.
  • Ejecutar código de plugins no confiable con acceso al anfitrión mediante WASI.

Inicio rápido

  1. 1

    Instala Wasmtime CLI con el script de instalación oficial o desde la página de versiones

  2. 2

    Añade el destino WebAssembly WASI a Rust

    rustup target add wasm32-wasip2
  3. 3

    Compila un programa hello-world de Rust como componente WebAssembly

    rustc hello.rs --target wasm32-wasip2
  4. 4

    Ejecuta el componente compilado con Wasmtime

    wasmtime hello.wasm

Antes de usarlo

  • El script de instalación de una sola línea solo está documentado para Linux y macOS; los usuarios de Windows deben usar la página de versiones.

Temas

Preguntas frecuentes

¿Qué es wasmtime?
Runtime independiente de WebAssembly basado en el generador de código Cranelift, con compatibilidad con WASI e integración en varios lenguajes. Wasmtime es un runtime independiente para WebAssembly, el formato binario portable para código que se ejecuta en navegadores y fuera de ellos. Permite ejecutar componentes de WebAssembly desde la línea de comandos con el CLI de wasmtime o integrarlo en aplicaciones mediante su crate de Rust y sus bindings para C, C++, Python, .NET, Go y Ruby.
¿wasmtime es gratuito? ¿Qué licencia tiene?
wasmtime es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿wasmtime sigue mantenido?
Mantenimiento activo. El último commit de wasmtime fue el 21 oct 2026.
¿Para qué puedo usar wasmtime?
Ejecutar componentes de WebAssembly desde la línea de comandos. Integrar un runtime aislado de WebAssembly en una aplicación de Rust o C. Ejecutar código de plugins no confiable con acceso al anfitrión mediante WASI.
¿Cómo se instala wasmtime?
Instala Wasmtime CLI con el script de instalación oficial o desde la página de versiones Añade el destino WebAssembly WASI a Rust: rustup target add wasm32-wasip2 Compila un programa hello-world de Rust como componente WebAssembly: rustc hello.rs --target wasm32-wasip2 Ejecuta el componente compilado con Wasmtime: wasmtime hello.wasm
¿Dónde consigo wasmtime?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/bytecodealliance/wasmtime

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados