rizumita / signals.dart

Complete port of @preact/signals-core to Dart and extensions for common operations

Home Page:https://rodydavis.github.io/signals.dart/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tests Website GitHub stars Coverage GitHub issues GitHub pull-requests melos

Signals.dart

Features

  • 🪡 Fine grained reactivity: Based on Preact Signals 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 project

To start using signals, check out the full documentation.

VS Code Extension: https://marketplace.visualstudio.com/items?itemName=rodydavis.signals-dart

Packages

Package Pub
signals signals
signals_core signals_core
signals_flutter signals_flutter
signals_lint signals_lint
signals_devtools_extension

About

Complete port of @preact/signals-core to Dart and extensions for common operations

https://rodydavis.github.io/signals.dart/

License:Apache License 2.0


Languages

Language:Dart 49.6%Language:HTML 29.8%Language:C++ 8.3%Language:CMake 6.9%Language:CSS 1.9%Language:JavaScript 1.9%Language:Swift 0.6%Language:C 0.5%Language:MDX 0.2%Language:TypeScript 0.2%Language:Kotlin 0.0%Language:Shell 0.0%Language:Objective-C 0.0%