Ir al contenido

Rust

Ownership en Rust 2. Seis formas de compartir estado y como elegir la correcta

·9 mins
Move, borrow, clone, Rc, Arc, Cow. Rust te da seis formas de sable laser para el ownership. Cada una contrarresta una amenaza concreta. Usar la forma equivocada contra el oponente equivocado no es solo inelegante, es fatal. Mapeamos cada estrategia a las situaciones donde brilla y donde falla catastroficamente.

Ownership en Rust 1. Deja de temer a .clone()

·7 mins
La comunidad Rust trata .clone() como un code smell. A veces lo es. Pero la mayoría de las veces, el instinto de evitarlo cuesta más en complejidad de lo que el clone cuesta en nanosegundos. Diseccionamos qué hace clone realmente para cada tipo común, el espectro real de costes a lo largo de seis órdenes de magnitud, y por qué Clone y Copy no son la misma conversación.

Tagless Final es semantica denotacional disfrazada

·10 mins
Cada trait en tu arquitectura hexagonal es un algebra tagless-final. Cada impl es un interprete. Has estado escribiendo semantica denotacional sin saberlo. Trazamos la conexion desde el paper de Kiselyov a traves de Cats-Effect de Scala hasta los port traits de Rust, y mostramos por que el patron que los academicos llaman ‘finally tagless’ es el mismo patron que los practicantes llaman ‘inyeccion de dependencias.’

Todo TUI en Rust 5. Polling de eventos, el corte vertical de edición y cierre

·7 mins
La rata sirve el último plato. Corregimos el lag de entrada con polling de eventos no bloqueante, añadimos la funcionalidad de edición como un corte vertical completo desde la capa de aplicación hasta la TUI, observamos la máquina de estados crecer de 3 a 4 variantes con seguridad guiada por el compilador, y cerramos con las conclusiones clave de toda la migración.

Todo TUI en Rust 4. Pulido UX y el popup de entrada

·7 mins
La rata aprende a emplatar. Cinco mejoras de UX transforman un prototipo monocromático en una herramienta escaneable y responsiva: codificación por colores, feedback positivo, guía de estado vacío, mensajes transitorios y un cursor visual. Después sustituimos la entrada de texto en la barra de comandos por un popup modal centrado.

Todo TUI en Rust 3. Eventos, seguridad de terminal y el momento de la verdad

·8 mins
La rata conecta los oídos. Implementamos manejadores de eventos por modo con crossterm, rediseñamos el mapeo de teclas para usar un toggle en vez de teclas separadas, resolvemos el problema de restauración de terminal con un patrón de captura-limpieza-retorno, y ejecutamos cargo test para descubrir que cero líneas cambiaron fuera del adaptador.

Todo TUI en Rust 2. Renderizando la capa View con ratatui

·5 mins
La rata empieza a pintar. Implementamos la capa de renderizado: dibujo en modo inmediato, un layout de tres zonas con Layout::vertical, una tabla de tareas con StatefulWidget y resaltado de fila, una barra de comandos sensible al contexto que cambia según InputMode, y el sutil gotcha de Block que costó unos minutos de depuración.

Todo TUI en Rust 1. Andamiaje del adaptador TUI y diseño de la máquina de estados

·8 mins
Arrancamos una nueva serie migrando el adaptador CLI a una TUI con ratatui. Configuramos las nuevas dependencias, diseñamos la estructura de módulos bajo adapters/tui/, modelamos los modos de interacción como un enum para hacer los estados inválidos irrepresentables, y resolvemos el puzzle de ownership al clonar un repositorio en una sesión persistente.