2 repository-uri
Architectures using central loops and discrete messages for state updates.
Distinguishing note: Specifically targets Elm-style message-based state updates.
Explore 2 awesome GitHub repositories matching user interface & experience · Message Passing Systems. Refine with filters or upvote what's useful.
Iced is a cross-platform graphical user interface framework designed for building interactive applications with a focus on type safety and predictable state management. It utilizes a declarative architecture that separates application state, update logic, and view rendering, allowing developers to construct complex interfaces by nesting reusable functional components. The framework distinguishes itself through an Elm-inspired message-passing pattern, where all user interactions are processed as discrete messages to ensure reliable state transitions. It employs an immediate-mode rendering para
Processes updates through a central loop that consumes discrete messages to produce new state.
Acest proiect este un framework pentru construirea de interfețe de utilizator (TUI) stateful, bazate pe componente, în Rust. Oferă o arhitectură structurată pentru gestionarea aplicațiilor complexe de linie de comandă prin decuplarea logicii de randare de starea aplicației, printr-un sistem centralizat de transmitere a mesajelor. Utilizând un model bazat pe componente, permite dezvoltatorilor să construiască interfețe interactive care gestionează rutarea evenimentelor, gestionarea focusului și orchestrarea ciclului de viață într-un mod predictibil. Framework-ul se distinge prin accentul pus pe modularitate și productivitatea dezvoltatorului. Utilizează compoziția bazată pe trăsături (traits) pentru a permite crearea de elemente de interfață reutilizabile, care pot fi asamblate în layout-uri complexe. Pentru a reduce efortul de implementare manuală, include utilitare pentru generarea de boilerplate pentru componente. Sistemul suportă, de asemenea, integrarea asincronă, permițând sarcinilor de fundal și fluxurilor de date externe să actualizeze interfața fără a bloca bucla principală de evenimente. Dincolo de arhitectura sa de bază, biblioteca oferă o suită de utilitare vizuale și funcționale pentru aplicațiile de terminal. Aceasta include suport pentru randarea datelor ierarhice, introducerea de text pe mai multe linii cu istoric de undo și capabilități integrate de căutare text. Oferă, de asemenea, instrumente pentru testarea componentelor de terminal, permițând dezvoltatorilor să simuleze interacțiunile utilizatorului și să verifice comportamentul interfeței într-un mediu controlat.
Decouples user input from rendering logic by routing events through a centralized message-passing system for predictable state transitions.