Yew es un marco de trabajo (framework) para crear aplicaciones web fiables y eficientes. Usa Rust como lenguaje base.
Ya hemos hablado sobre esta herramienta en una entrega anterior. Como mencionamos usa WebAssembly, lo que permite la implementación en la web para aplicaciones de cliente y servidor. Este framework ha sufrido algunos cambios y veremos cómo crear una sencilla aplicación como la vista en la anterior entrega.
Yew framework
Manos a la obra. Comencemos con un ejemplo sencillo. Pero antes los requerimientos:
- Tener Rust.
- Tener Cargo.
Abrimos una terminal y tecleamos:
$ rustup update
Esto actualizará la versión de Rust instalada en nuestra máquina. La instalación puede tardar varios minutos.
Instalando WebAssembly y Trunk
Además de tener la última versión de Rust (y Cargo) deberemos instalar WebAssembly y Trunk; ambos son paquetes necesarios para empezar con Yew.
Ejecutemos estos comandos para la instalación:
$ rustup target add wasm32-unknown-unknown $ cargo install --locked trunk
Esto instalará los paquetes necesarios.
Creando un proyecto Yew
Se tratará de una simple aplicación web en la que se mostrará un botón que incremenará un número entero.
1. Crearemos un directorio del proyecto y nos ubicaremos en el:
$ cargo new yew-app $ cd yew-app
2. Actualizamos el archivo ``Cargo.toml``:
[package] name = "yew-app" version = "0.1.0" edition = "2024" [dependencies] yew = { version = "0.23", features = ["csr"] }
En el apartado de dependencias indicamos la versión de Yew a usar, en este caso la versión 0.23.
3. Actualizamos el archivo ``main.rs``
use yew::prelude::*; #[component] fn App() -> Html { let counter = use_state(|| 0); let onclick = { let counter = counter.clone(); move |_| { let value = *counter + 1; counter.set(value); } }; html! { <div> <button {onclick}>{ "+1" }</button> <p>{ *counter }</p> </div> } } fn main() { yew::Renderer::<App>::new().render(); }
De manera similar a lo que se hace con React u otras herramientas, agregamos la funcionalidad mezclando código Rust (en lugar de Javascript) con HTML.
4. Creamos la página HTML ``index.html``
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>Yew App</title> </head> <body></body> </html>
Esto solo servirá como para mostrar el contenido HTML.
5. Creamos el archivo ``Trunk.toml``
[serve] # The address to serve on LAN. address = "127.0.0.1" # The address to serve on WAN. # address = "0.0.0.0" # The port to serve on. port = 8083
Este archivo nos sirve para indicar la dirección y puerto donde se mostrará nuestra aplicación web.
6. Ejecutamos la aplicación:
$ trunk serve --open
Abrirá el navegador en la ruta: http://127.0.0.1:8083/
Con esto ya hemos creado una aplicación web con Rust y Yew.
Enlaces:
https://yew.rs/



Comentarios
Publicar un comentario