Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodydavis/signals.dart
Reactive programming made simple for Dart and Flutter
https://github.com/rodydavis/signals.dart
dart flutter preact-signals signals state-management
Last synced: 29 days ago
JSON representation
Reactive programming made simple for Dart and Flutter
- Host: GitHub
- URL: https://github.com/rodydavis/signals.dart
- Owner: rodydavis
- License: apache-2.0
- Created: 2023-11-18T07:48:45.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T23:07:27.000Z (about 1 month ago)
- Last Synced: 2024-04-14T01:05:48.879Z (about 1 month ago)
- Topics: dart, flutter, preact-signals, signals, state-management
- Language: Dart
- Homepage: http://dartsignals.dev
- Size: 29.8 MB
- Stars: 322
- Watchers: 6
- Forks: 34
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Lists
- awesome-flutter - Signals - Reactive programming made simple. Port of Signals pattern by [Rody Davis](https://github.com/rodydavis) (Frameworks / State management)
README
[![Tests](https://github.com/rodydavis/signals.dart/actions/workflows/tests.yml/badge.svg)](https://github.com/rodydavis/signals.dart/actions/workflows/tests.yml)
[![Website](https://github.com/rodydavis/signals.dart/actions/workflows/website.yml/badge.svg)](https://github.com/rodydavis/signals.dart/actions/workflows/website.yml)
[![GitHub stars](https://img.shields.io/github/stars/rodydavis/signals.dart)](https://gitHub.com/rodydavis/signals.dart/stargazers/)
[![Coverage](https://codecov.io/gh/rodydavis/signals.dart/branch/main/graph/badge.svg?token=HvJYtaixiW)](https://codecov.io/gh/rodydavis/signals.dart)
[![GitHub issues](https://img.shields.io/github/issues/rodydavis/signals.dart)](https://github.com/rodydavis/signals.dart/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/rodydavis/signals.dart.svg)](https://gitHub.com/rodydavis/signals.dart/pull/)
[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos)# Signals.dart
## Features
- 🪡 **Fine grained reactivity**: Based on [Preact Signals](https://preactjs.com/blog/signal-boosting/) and provides a fine grained reactivity system that will automatically track dependencies and free them when no longer needed
- ⛓️ **Lazy evaluation**: Signals are lazy and will only compute values when read. If a signal is not read, it will not be computed
- 🗜️ **Flexible API**: Every app is different and signals can be composed in multiple ways. There are a few rules to follow but the API surface is small
- 🔬 **Surgical Rendering**: Widgets can be rebuilt surgically, only marking dirty the parts of the Widget tree that need to be updated and if mounted
- 💙 **100% Dart Native**: Supports Dart JS (HTML), Shelf Server, CLI (and Native), VM, Flutter (Web, Mobile and Desktop). Signals can be used in any Dart projectTo start using signals, check out the full [documentation](https://dartsignals.dev/).
VS Code Extension: https://marketplace.visualstudio.com/items?itemName=rodydavis.signals-dart
## Packages
| Package | Pub |
|---------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`signals`](packages/signals) | [![signals](https://img.shields.io/pub/v/signals.svg)](https://pub.dev/packages/signals) |
| [`signals_core`](packages/signals_core) | [![signals_core](https://img.shields.io/pub/v/signals_core.svg)](https://pub.dev/packages/signals_core) |
| [`signals_flutter`](packages/signals_flutter) | [![signals_flutter](https://img.shields.io/pub/v/signals_flutter.svg)](https://pub.dev/packages/signals_flutter) |
| [`signals_lint`](packages/signals_lint) | [![signals_lint](https://img.shields.io/pub/v/signals_lint.svg)](https://pub.dev/packages/signals_lint) |
| [`signals_devtools_extension`](packages/signals_devtools_extension) | |