20 Repos
Libraries for managing application state in web interfaces.
Distinguishing note: Focuses on state management patterns and libraries.
Explore 20 awesome GitHub repositories matching web development · State Management Libraries. Refine with filters or upvote what's useful.
Redux is a JavaScript state management library that serves as a centralized state container for application data. It operates as a predictable state machine, maintaining the entire application state in a single immutable object tree to ensure a consistent source of truth. The library enforces a unidirectional data flow architecture where the state is read-only and can only be modified by dispatching action objects. State transitions are calculated by applying pure reducer functions to the current state and a specific action, ensuring that data updates are deterministic and trackable. The sys
A predictable library for managing global application state through a single source of truth.
Redux is a global state management library and predictable state container for JavaScript applications. It implements a store pattern that maintains the entire application state as a single source of truth, ensuring consistent behavior across different components and environments. The library relies on a unidirectional data flow where state updates follow a strict one-way cycle. This is achieved through a system of discrete actions, pure-function reducers, and a centralized store to ensure that state transitions remain predictable and traceable. The framework includes capabilities for monito
Provides a comprehensive library for managing application state in JavaScript web interfaces.
This project is a community-maintained open source directory that serves as a comprehensive index of React components and libraries. It functions as a technical knowledge base, mapping common development challenges to vetted third-party solutions to help developers accelerate their frontend workflows and avoid reinventing standard interface elements. The directory distinguishes itself through a decentralized, hyperlink-centric architecture that avoids hosting code locally, instead pointing users directly to external repositories. This content is curated through a collaborative model where com
Lists state management libraries for web applications.
This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web interfaces. It centers on a component-based architecture that maps application state to rendered elements, utilizing a twelve-point flexbox grid system and nested containers to manage complex layouts. The library ensures consistent behavior across large-scale applications by providing centralized configuration for component defaults, themes, and global design tokens. What distinguishes this framework is its deep integration of Material Design principles alongside a highly flexib
Provides reactive hooks for synchronizing global application state including themes, locales, and device display information.
This project is a declarative drag-and-drop library designed for building accessible and fluid interface interactions within web applications. It provides a component-based interface for managing complex list reordering and spatial relationships between elements, utilizing a specialized state container to coordinate movement logic. The library distinguishes itself through a focus on accessibility, maintaining a live connection between visual drag states and the browser accessibility tree to support screen readers and keyboard navigation. It optimizes performance by bypassing standard componen
Centralizes the drag-and-drop lifecycle state in a single store to synchronize complex interactions across independent components.
Immer is an immutable state management library used to create new versions of data structures. It allows the production of new state by mutating a temporary draft instead of using manual object spreading. The project implements structural sharing to reuse unchanged parts of a data tree between versions, which reduces memory consumption. It also functions as a JSON patch generator to calculate and output the differences between two state versions. To ensure data integrity, the library includes a state mutation protector that freezes data structures to detect and prevent accidental modificatio
A library designed for managing immutable application state via a draft-based mutation pattern.
Hyperapp is a functional JavaScript framework for building hypertext applications. It centers on a state management library and a virtual DOM system that creates in-memory interface representations to apply efficient updates to the browser screen via diffing. The framework avoids templates and JSX, instead utilizing function composition and dedicated tag wrappers to generate HTML structures and SVG elements. It implements a unidirectional data flow where a central state object is managed through transformation functions. The system covers declarative UI rendering and functional web interfaci
Provides a central state object managed through transformation functions to determine the view.
Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions. The framework distinguishes itself through the use of generator functions to manage asynchronous workflows and sequential side effects, keeping these operations separate from synchronous state updates. It implements namespace-based model organization to group business logic and
Provides a system for organizing application data through reducers, effects, and subscriptions to coordinate state transitions.
Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for organizing reactive data. It utilizes a modular store pattern, allowing developers to define independent, reusable state containers that manage shared application data, computed getters, and executable actions. The library distinguishes itself through a flexible definition model that supports both functional setup patterns and traditional object-based structures. It features a plugin-based extension architecture that enables developers to hook into the store lifecycle for custom fu
Serves as the primary state management library for the framework, providing centralized, modular, and reactive data handling.
vue2-happyfri is a frontend development starter kit and application template for the Vue 2 framework. It provides a foundational codebase designed for learning and implementing the core ecosystem of Vue.js. The project serves as a reference implementation for building single-page applications by combining Vue.js with Vue Router for navigation setup and Vuex for state management examples. It demonstrates how to map URL paths to page components and maintain consistent application state across multiple components. The codebase covers high-level capabilities including client-side routing and cen
Includes a concrete demonstration of centralized data storage using Vuex.
This repository provides the downloadable materials and syllabus for a complete Flutter development bootcamp, guiding learners from initial setup through to app deployment. It is structured around the core concepts of building cross-platform mobile applications using the Flutter framework and the Dart language, covering widget-based UI composition, state management, and integration with backend services. The resources focus on practical, hands-on skills, including fetching live data from web APIs and parsing JSON responses, as well as authenticating users and storing data in the cloud using F
Manages shared application state across widgets using a state management library.
Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It allows application state to be updated through direct object mutations rather than immutable patterns, using JavaScript proxies to track changes and trigger updates. For React applications, it includes a synchronization hook that ensures components re-render only when the specific properties they access are modified. The system supports reactive data derivation through computed properties that automatically update when their underlying dependencies change. It maintains reactivity
Utilizes JavaScript proxies to track state mutations and trigger reactive updates.
This is a reference project that implements the same TodoMVC application across multiple Flutter state management and architecture patterns, enabling direct side-by-side comparison. The project demonstrates how different approaches—including BLoC, Redux, MobX, Provider, and Scoped Model—handle state, data flow, and separation of concerns within the Flutter framework. Each architecture implementation is built to the same specification and runs an identical suite of shared integration tests, ensuring consistent behavior across all patterns. This allows developers to evaluate the trade-offs of e
Explore state management examples by running demo apps for patterns like BLoC, Redux, and MobX to see how each manages application state.
Flutter Deer is a Flutter practice project that demonstrates realistic application patterns across Android and iOS. It showcases how to structure a Flutter app with modular routing, reactive state management using Provider, and a centralized network layer built with Dio for structured API calls and error handling. The project also includes integration and accessibility testing that simulates real user interactions to verify UI behavior and screen-reader compatibility. The project differentiates itself by providing a comprehensive showcase of custom UI components and interactions, including ca
Manages application state reactively across widgets using the Provider library in a Flutter project.
Unstated is a React state management library that encapsulates application state and update logic within decoupled containers. It functions as a container-based state store, allowing state and business logic to be organized into standalone classes that trigger component re-renders when data changes. The project serves as a dependency injection framework, enabling specific state container instances to be supplied to the component tree. This mechanism supports the use of mock containers or stubs to facilitate controlled testing and custom configurations. The library covers global state managem
Provides a library for managing application state in web interfaces by encapsulating logic in decoupled containers.
Refluxjs ist eine State-Management-Bibliothek, die für die Implementierung einer unidirektionalen Datenfluss-Architektur entwickelt wurde. Sie verwaltet den Anwendungszustand durch einen strikten Zyklus von Aktionen und Stores, um unvorhersehbare Update-Schleifen zu verhindern. Die Bibliothek koordiniert asynchrone Operationen durch die Verwaltung von Event-Streams und das Auslösen zugehöriger Erfolgs- oder Fehleraktionen. Sie bietet zudem eine globale State-Registry, die Store-Zustände über eindeutige Identifikatoren verfolgt, was Deep-Cloning für Persistenz und Time-Travel-Debugging ermöglicht. Der Funktionsumfang deckt zentralisiertes State-Management ab, einschließlich der Erstellung von Data-Stores und abgeleiteter Zustandsaggregation. Sie enthält Tools zum Abfangen von Aktions-Emissionen über Pre-Emission-Hooks sowie Mechanismen, um Store-Zustände direkt an UI-Komponenten für automatisches Re-Rendering zu binden.
Provides a library for managing application state using a unidirectional dataflow architecture.
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem
Provides a framework-agnostic library for managing application state and side effects through declarative, event-driven data flows.
react-basic bietet eine konzeptionelle Implementierung des React-Modells mit Fokus auf eine komponentenbasierte UI-Architektur. Es verwendet reine Funktionen, um Rohdaten in strukturelle Interface-Repräsentationen umzuwandeln, und nutzt ein deklaratives System zur Verwaltung des UI-Status und der hierarchischen Datenverteilung. Das Projekt zeichnet sich durch spezialisierte Caching-Strategien aus, einschließlich Baum-basiertem Ergebnis-Caching, das Werte basierend auf der strukturellen Position von Elementen speichert. Es enthält zudem einen Mechanismus für verzögerte Funktionsausführung, um Boilerplate aus Geschäftspfaden zu entfernen, und unterstützt die Isolierung von Statusprojektionen, wie z. B. Scroll-Positionen und Eingabefokus, von der Kern-Geschäftslogik. Die Bibliothek deckt breitere Funktionen in der modularen Interface-Zusammensetzung ab, was die Erstellung wiederverwendbarer Komponentenabstraktionen ermöglicht. Sie enthält Tools für den tiefen Datentransfer über verschachtelte Schichten hinweg und ein State-Management, das speziell darauf zugeschnitten ist, eindeutige Werte mit einzelnen Listenelementen zu verknüpfen.
Isolates interface-specific projection data, such as scroll positions and input focus, from core business logic.
Dieses Projekt ist ein umfassender Leitfaden und eine Roadmap für die Frontend-Entwicklung, die Ingenieuren dabei helfen soll, die Fähigkeiten und professionellen Standards für die moderne Webentwicklung zu meistern. Es dient als technische Referenz für die Beherrschung von HTML, CSS und JavaScript und bietet strukturierte Lernpfade sowie eine Übersicht der beruflichen Kompetenzen, die für den Übergang vom Anfänger zum professionellen Web-Engineer erforderlich sind. Die Ressource fungiert als kategorisiertes Verzeichnis und Ökosystem-Übersicht der JavaScript-Landschaft. Sie katalogisiert branchenübliche Frameworks, Bibliotheken und Dienstprogramme und bietet spezifische Empfehlungen für State Management, CSS-Frameworks und Static Site Generators. Der Leitfaden deckt ein breites Spektrum an technischen Fähigkeiten ab, einschließlich UI-Architektur, Web-Performance-Optimierung und Accessibility-Auditing. Zudem bietet er Orientierungshilfen für Build-Automatisierung, Deployment-Strategien und die Auswahl von Entwickler-Tools für professionelle Workflows.
Recommends specialized libraries and patterns for managing application state in web interfaces.
Akita is a JavaScript state management library that provides a system for managing application data and user interface state. It utilizes an observable data store and immutable state containers to synchronize data across interfaces, employing an entity state manager to handle flat collections of objects with unique identifiers. The project distinguishes itself through a comprehensive history management system that supports both global application-wide state reversal and granular, per-entity undo and redo functionality. It also includes a client-side data cache with time-to-live settings to pr
A JavaScript library providing observables and immutable patterns for synchronizing state across user interfaces.