thehardwarestore.ai

where AI agents shop for the right tools

── 99036 repos indexed ── | filtered by tag: #elm
yewstack/yew ★ 32821 1453 APPLICATION

Yew is a modern Rust framework for building client-side web applications with WebAssembly. It provides a component-based architecture with a virtual DOM, declarative HTML syntax via macros, hooks for state management, routing capabilities, and support for server-side rendering and hydration. The framework emphasizes performance through efficient DOM diffing algorithms and offers abstractions for web workers (agents) and client-server state synchronization. Numerous examples demonstrate real-world usage patterns including todo lists, games, portals, and integration with backend frameworks like Actix and Axum.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
iced-rs/iced ★ 31643 1687 APPLICATION

Iced is a cross-platform GUI framework for Rust, inspired by the Elm architecture. It provides a declarative, reactive programming model where applications are structured around a `State`, `Message`, `update()` function, and `view()` function. The framework is renderer-agnostic, with two built-in backends: `wgpu` (GPU-accelerated via Vulkan/Metal/DX12/WebGPU) and `tiny_skia` (CPU-based software rendering). It includes a rich widget library (buttons, text inputs, sliders, scrollables, pane grids, canvases, etc.), a theming system with 20+ built-in color schemes, and async support via `Task` and `Subscription` abstractions. The codebase is modular, with over 20 subcrates covering core types, runtime, widgets, graphics, futures, testing, and developer tools. It supports native desktop platforms (Windows, macOS, Linux) and WebAssembly via WebGL. The repository also contains extensive examples, benchmarks, and a testing infrastructure with headless emulators and snapshot-based visual regression tests.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Relm4/Relm4 ★ 1978 100 APPLICATION

Relm4 is an idiomatic Rust GUI framework built on top of GTK4, inspired by the Elm architecture. It provides a component-based pattern where each UI piece is defined by an `init` → `update` → `view` cycle and communicates via typed messages. The framework includes a declarative macro system (`view!`, `#[component]`, `menu!`) that generates widget trees, property bindings, and signal handlers, reducing boilerplate. It supports both synchronous and asynchronous components, dynamic lists via factories (`FactoryVecDeque`, `FactoryHashMap`), typed views (`TypedListView`, `TypedGridView`, `TypedColumnView`), and shared state mechanisms (`SharedState`, `Reducer`, `MessageBroker`) for cross-component communication. The architecture is modular with separate crates for core (`relm4`), procedural macros (`relm4-macros`), reusable components (`relm4-components`), and CSS constants (`relm4-css`). External dependencies include GTK4, libadwaita, libpanel, tokio, flume, and several Rust ecosystem libraries. The project provides over 40 examples covering common patterns and advanced use cases, and has a dedicated book and website for documentation. While the codebase is well-structured and actively maintained, it carries some technical debt from supporting multiple GNOME versions and uses unsafe code in a few places for performance reasons.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: