Framework web en Rust · v0.1.0 · beta

Un sitio se declara, no se programa

Rutas, tipos de contenido e idiomas viven en la configuración, y Rustelo los convierte en una aplicación web Rust tipada en tiempo de compilación.

Construir. Desplegar. Entregar.

Un núcleo · dos perfiles de renderizado · ninguna bifurcación del framework

Todo configurable, nada fijado en el código.

Declarado, no programado

Todo lo que es un sitio —sus rutas, sus tipos de contenido, sus idiomas— vive en la configuración. Rustelo convierte esa declaración en una aplicación Rust tipada en tiempo de compilación, y el núcleo queda intacto.

NICKEL · BUILD.RS

Configuración que compila

Rutas, páginas, menús y el registro de Fluent se generan desde la configuración Nickel con build.rs en OUT_DIR y se incluyen al compilar. Una tabla de rutas mal formada es un error de compilación, no una página que da 404 en producción.

HTMX-SSR · HIDRATACIÓN LEPTOS

Dos perfiles de renderizado, un núcleo

Se elige por sitio o por ruta: HTML renderizado en el servidor con HTMX y sin WebAssembly, o SSR de Leptos con hidratación WASM. Mismo contenido, misma configuración; un sitio sin rutas hidratadas se ahorra por completo la compilación wasm32.

OVERRIDES · PLUGINS

Extender sin bifurcar

Un sistema de capas de sobrescritura —Local sobre Feature sobre Template sobre Framework— y plugins en tiempo de compilación con ResourceContributor y PageContributor permiten a un sitio cambiar cualquier cosa sin modificar el código del framework.

Arquitectura

Arquitectura Arquitectura

Tres capas —tu aplicación, los puertos del framework (rustelo_web, rustelo_auth, rustelo_content) y la base— con generación de código en tiempo de compilación desde la configuración Nickel por debajo.

Cómo funciona

Declarar, generar, servir.

1

Declarar en Nickel

Rutas, menús, tipos de contenido, temas e idiomas se escriben como configuración Nickel tipada. Los idiomas se descubren a partir de la configuración y del contenido; ninguno está fijado en el código.

2

Generar al compilar

build.rs lee la configuración y genera routes.rs, pages.rs y menus.rs en OUT_DIR; include!() los incorpora. El código generado es de solo lectura: la fuente de verdad es la configuración.

3

Servir desde un binario

Un servidor Axum renderiza cada ruta en su perfil —fragmentos HTMX o hidratación Leptos— con autenticación, RBAC, contenido, correo e i18n compuestos mediante features de Cargo.

Un sitio que se declara, se revisa y se recompila

Configuración, plantillas y contenido son ficheros normales bajo control de versiones; el framework sigue siendo actualizable porque nada en él se ha editado. Empieza por la visión general del framework o lee cómo está construido.