Entradas

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.

Sonic, indexar textos y documentos con Rust

Sonic es un software de búsqueda rápido y liviano. Una alternativa simple a los pesados ​​y llenos de funciones productos como ElasticSearch.

Normalizar las consultas de búsqueda en lenguaje natural, autocompleta y proporciona resultados relevantes.

Sonic es un índice de IDs, en lugar de un índice de documentos; cuando se consulta, devuelve un ID que luego se puede usar para hacer referencia a los documentos coincidentes en una base de datos externa.

https://crates.io/crates/sonic-server

Hablando de sitios web estáticos

Zola es un generador de sitio estático rápido en un solo binario con todo integrado. Documentación disponible en el sitio web o en la carpeta docs/content del repositorio.

Otro buscador rapidísimo con Rust para sitios estáticos

Stork indexa el contenido estático y crea un archivo que se puede cargar en el servidor web. Y proporciona una interfaz Javascript + WebAssembly para buscar en ese archivo de índice.

MeiliSearch es un motor …

MeiliSearch es un motor de búsqueda rápido, de código abierto. Tanto la búsqueda como la indexación son personalizables. Las características como la tolerancia a errores tipográficos, los filtros y los sinónimos se proporcionan de forma inmediata (aunque por ahora no está disponible en español). Más información en la documentación y en el crate para usar desde Rust.