awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rrousselGit avatar

rrousselGit/provider

0
View on GitHub↗
5,258 星标·527 分支·Dart·MIT·6 次浏览pub.dev/packages/provider↗

Provider

Provider 是一个用于 Flutter 的状态管理和依赖注入框架。它通过一套管理对象和服务的注入系统,简化了组件树(widget tree)之间的数据共享,并具备自动化的生命周期管理和资源释放功能。

该框架的独特之处在于其响应式状态容器,能够将来自流(streams)和期值(futures)的异步数据直接桥接到组件树中。它支持状态派生,允许根据从多个上游 Provider 观察到的值来构建和同步新对象。为了保持性能,它提供了选择性重建过滤和部分状态订阅功能,以限制用户界面的更新范围。

该库涵盖了广泛的功能领域,包括用于解耦具体实现与抽象接口的界面映射,以及用于扁平化多个依赖定义并减少嵌套的 Provider 组合。它还包含用于可选依赖解析的工具,以及在开发热重载周期中保持应用状态的功能。

Features

  • Dependency Injection Providers - Implements a provider-based system to inject services and configurations into component hierarchies for a Flutter application.
  • Contextual State Lookups - Provides mechanisms for retrieving shared objects from the component tree using context-based lookups.
  • Component-Tree Lifecycle Management - Handles lazy allocation and automatic disposal of objects based on their position in the component tree lifecycle.
  • Dependency Lifecycle Management - Manages the complete lifecycle of dependency objects, ensuring proper instantiation and resource cleanup when removed from the tree.
  • Lifecycle-Managed Initialization - Provides lazy instantiation of dependencies combined with automated resource disposal tied to the widget tree lifecycle.
  • Stream-Based Data Providers - Converts asynchronous data from futures or streams into reactive providers that automatically drive Flutter UI updates.
  • Flutter State Management - Provides libraries and patterns for managing and synchronizing shared application state across a Flutter widget tree.
  • Future-Based State Providers - Provides specialized handling for futures, exposing the final resulting value to descendant widgets automatically.
  • Dependency Injection Frameworks - Implements an inversion of control framework to manage component dependencies and their lifecycles.
  • Derived Provider Composers - Constructs new state by combining multiple upstream providers and automatically recomputing values when dependencies change.
  • Asynchronous Providers - Bridging asynchronous data streams into the component tree to trigger automatic UI updates when new values are emitted.
  • Tree-Based Providers - Provides a system for injecting objects into the widget tree with automatic disposal based on the tree lifecycle.
  • UI-Reactive Data Types - Triggers component rebuilds automatically when values update from streams, futures, or change notifiers.
  • Scoped Stateful Object Sharing - Enables creating singleton instances of stateful objects shared across a component and all its descendants to avoid prop drilling.
  • Reactive Async-Stream Integration - Exposes the most recent values from asynchronous streams and futures to the widget tree for reactive UI updates.
  • Reactive State Managers - Synchronizes application data across components via automatic change tracking to keep the UI in sync.
  • InheritedWidget Scoping - Implements state propagation using Flutter's native InheritedWidget for efficient, constant-time data lookups across the widget tree.
  • State Retrieval Mechanisms - Provides mechanisms to retrieve provided objects from the component tree via either one-time reads or reactive subscriptions.
  • Property-Specific Rebuild Filters - Allows watching only a subset of an object's properties so consumers rebuild only when those specific properties change.
  • Rebuild Optimization Tools - Offers utilities to isolate widget sub-trees and prevent unnecessary interface redraws during state updates.
  • Interface-Based Decoupling - Decouples components from concrete implementations by injecting dependencies through abstract interfaces, promoting testability.
  • Provider Grouping - Allows grouping multiple dependency providers into a single structure to reduce nesting and improve readability.
  • External Instance Integration - Allows publishing existing object instances to the component tree without the framework assuming ownership of their lifecycle.
  • Interface-to-Implementation Bindings - Maps abstract interfaces to concrete class implementations, allowing components to depend on interfaces for better modularity.
  • Partial State Selectors - Provides partial state selectors that restrict UI rebuilds to only occur when specific properties of a state object change.
  • Hot-Reload State Preservation - Executes custom logic during development reload cycles to preserve application state and context.
  • Flat Provider Compositions - Merges multiple providers into a flat structure to eliminate deeply nested wrapper components in the widget tree.
  • Selective Rebuilds - Optimizes performance by limiting widget rebuilds to only those components that depend on specific slices of shared state.
  • Selective Widget Rebuilding - Implements techniques to isolate UI updates by monitoring specific state slices to minimize rendering overhead.
  • Reactive Provider Containers - Ships reactive provider containers that synchronize dependent state and expose asynchronous data to the component tree.
  • Development Frameworks - Dependency injection and state management library.
  • State Management - Simple and efficient state management for widget trees.

Star 历史

rrousselgit/provider 的 Star 历史图表rrousselgit/provider 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Provider 的开源替代方案

相似的开源项目,按与 Provider 的功能重合度排序。
  • felangel/blocfelangel 的头像

    felangel/bloc

    12,455在 GitHub 上查看↗

    This is a Dart state management library and architectural framework that decouples business logic from the user interface by transforming a stream of events into a stream of states. It implements a business logic component pattern to ensure that state transitions are predictable and testable. The project distinguishes itself through advanced event stream processing, providing concurrency strategies to drop, restart, or queue incoming events. It includes a dedicated state persistence layer for saving and restoring application state to maintain session continuity, as well as tools for state his

    Dart
    在 GitHub 上查看↗12,455
  • rrousselgit/riverpodrrousselGit 的头像

    rrousselGit/riverpod

    7,315在 GitHub 上查看↗

    Riverpod is a reactive state management framework for Dart that manages application state through providers which automatically track dependencies and rebuild dependents when values change. It functions as an asynchronous data caching library, caching results of async operations and exposing loading, error, and data states to widgets without manual future handling. The framework includes a provider composition system that combines multiple providers into derived values that recompute automatically when any dependency changes, along with code generation for state providers that reduces boilerpl

    Dartdartflutterhacktoberfest
    在 GitHub 上查看↗7,315
  • samber/dosamber 的头像

    samber/do

    2,645在 GitHub 上查看↗

    This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects dependencies into structures using reflection and metadata tags. It functions as a service lifecycle manager and an interface binding library to decouple service consumption from concrete implementations. The framework utilizes a hierarchical service container, organizing services into a tree of nested scopes where child containers inherit dependencies from their ancestors. It includes a dependency graph visualizer for inspecting relationships and invocation chains, as well as a s

    Gocontainerdependencydependency-graph
    在 GitHub 上查看↗2,645
  • vandadnp/flutter-tips-and-tricksvandadnp 的头像

    vandadnp/flutter-tips-and-tricks

    6,822在 GitHub 上查看↗

    This repository is a collection of practical code snippets and implementation patterns for Flutter and Dart. It serves as a comprehensive guide and reference for asynchronous programming, state management patterns, and UI component design. The project provides advanced language reference material covering generics, reflection, factory constructors, and null-aware operators. It also includes specific utilities for manipulating Dart collections, such as helper methods for transforming and filtering maps, lists, and iterables. The coverage extends to high-level capabilities including asynchrono

    Dartdartflutterflutter-ui
    在 GitHub 上查看↗6,822
查看 Provider 的所有 30 个替代方案→

常见问题解答

rrousselgit/provider 是做什么的?

Provider 是一个用于 Flutter 的状态管理和依赖注入框架。它通过一套管理对象和服务的注入系统,简化了组件树(widget tree)之间的数据共享,并具备自动化的生命周期管理和资源释放功能。

rrousselgit/provider 的主要功能有哪些?

rrousselgit/provider 的主要功能包括:Dependency Injection Providers, Contextual State Lookups, Component-Tree Lifecycle Management, Dependency Lifecycle Management, Lifecycle-Managed Initialization, Stream-Based Data Providers, Flutter State Management, Future-Based State Providers。

rrousselgit/provider 有哪些开源替代品?

rrousselgit/provider 的开源替代品包括: felangel/bloc — This is a Dart state management library and architectural framework that decouples business logic from the user… rrousselgit/riverpod — Riverpod is a reactive state management framework for Dart that manages application state through providers which… samber/do — This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects… vandadnp/flutter-tips-and-tricks — This repository is a collection of practical code snippets and implementation patterns for Flutter and Dart. It serves… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized…