Entradas

Twitter y Rust

Lista de Twitter dedicada a Rust

Una de las fuentes que más sigo para estar al tanto de las novedades en torno al lenguaje de programación …

iced, biblioteca GUI multiplataforma para Rust

iced ayuda a crear interfaces gráficas de usuario (GUI) para aplicaciones Rust. Se centra en la simplicidad y la seguridad de tipos, proporciona bloques de construcción simples que se pueden unir con tipaje fuerte para reducir la posibilidad de errores en tiempo de ejecución. Se inspira en el lenguaje de programación funcional Elm para crear aplicaciones web.

GitHub...: https://github.com/iced-rs/iced
crates.io: https://crates.io/crates/iced
docs.rs..: https://docs.rs/iced/latest/iced

exitcode, códigos de salida para programas Rust

Sigue la especificación de sysexits.h‎ para definir constantes para los códigos preferidos de salida en la finalización de programas Rust.

GitHub...: https://github.com/benwilber/exitcode
crates.io: https://crates.io/crates/exitcode
docs.rs..: https://docs.rs/exitcode/latest/exitcode

snarkOS, un sistema operativo descentralizado

snarkOS es un sistema operativo descentralizado para el desarrollo y ejecución de aplicaciones privadas. Es la columna vertebral de Aleo y permite que las aplicaciones verifiquen y almacenen el estado de una manera públicamente verificable:

https://github.com/AleoHQ/snarkOS

Sobre el patrón «Builder» con Rust

Me guardo esta recopilación de enlaces sobre cómo usar el patrón Builder con el lenguaje de programación Rust:

Rust + WebAssembly + JavaScript

WebAssembly y Rust son tendencia. Este articulo nos introduce estas tecnologías para programar y mostrar un sencillo «¡Hola Mundo!» en nuestro navegador:

https://dev.to/mbround18/rust-webassembly-javascript-5366

druid, aplicaciones gráficas simples para Rust

Druid es un entorno orientado a los datos para construir aplicaciones gráficas simples. Comparte muchas ideas (y se inspira directamente en) entornos gráficos declarativos modernos como Flutter, Jetpack Compose o SwiftUI. Al mismo tiempo que intenta ser conceptualmente simple y explícito.

GitHub...: https://github.com/linebender/druid
crates.io: https://crates.io/crates/druid
docs.rs..: https://docs.rs/druid/latest/druid

mdBook para crear libros usando archivos Markdown

mdBook permite crear documentación estructurada en forma de libro para la web usando archivos Markdown. Sirva de ejemplo la propia guía de mdBook.

Puede instalarse descargando el binario de la aplicación, o directamente con Cargo (el administrador de paquetes de Rust) para añadir mdbook a las herramientas de cargo:

$ cargo install mdbook

GhostCell, separando permisos de los datos en Rust

El lenguaje Rust ofrece un enfoque prometedor para la programación de sistemas seguros. Un valor puede ser un alias o puede ser mutable, pero no ambas cosas al mismo tiempo.

Pero implementar estructuras de datos basadas en punteros con acceso compartido, como grafos o listas doblemente enlazadas, requiere poder mutar estados que son alias. Para admitir tales estructuras de datos Rust proporciona una serie de APIs que ofrecen la denominada mutabilidad interior: la capacidad de mutar datos usando métodos sobre una referencia compartida. Desafortunadamente, las APIs existentes sacrifican la flexibilidad, el acceso concurrente y/o el rendimiento a cambio de la seguridad.

Este artículo académico propone una API llamada GhostCell que separa de forma segura los permisos de los datos. La propuesta se acompaña de su implementación y ejemplos y de comparativas de rendimiento con otras APIs.