-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Rambla is a state engine for real-time .NET desktop applications. Use Rambla when the state changes more quickly than the UI can show it.
Rambla makes a difference between two operations:
- A mutation changes a value. Your code does this from any thread.
- A notification tells the UI that a value changed. Rambla does this.
Rambla keeps the intermediate values away from the UI. In each flush, Rambla sends only the last value of each property.
public partial class MarketViewModel : RamblaState
{
[State] private decimal _bid;
[State] private decimal _ask;
[State] private decimal _pnl;
}
// Write from a background thread.
// Do not use Dispatcher.Invoke. Do not call OnPropertyChanged.
vm.Bid = 1.2345m;- Getting Started — install the packages and write your first state
- Philosophy — the limits of Rambla. Read this page first.
- Schedulers — WPF, Avalonia and the refresh rate limit
-
Collections —
RamblaList<T>andRamblaDictionary<TKey,TValue> -
Async Commands —
[StateCommand]andAsyncStateCommand - Diagnostics — measure the cost of your state
- Architecture — the core and the adapters
- Core Semantics — the frozen V1 contract
- Benchmarks — the measured results
- Roadmap — the current status
- FAQ — the usual questions
- Glossary — the technical names in this wiki
Rambla does not make a notification less expensive. Rambla prevents the notification.
Rambla is not a replacement for CommunityToolkit.Mvvm, ReactiveUI or DynamicData. Rambla does one task. It makes the boundary between the background threads and the UI safe and inexpensive at a high update rate. Typical applications are trading terminals, dashboards, telemetry displays and monitor applications.
This wiki follows ASD-STE100 (Simplified Technical English). The sentences are short. Each technical name has one meaning. The Glossary gives the technical names.
The documents in the repository are
the primary source: README.md, SEMANTICS.md, BENCHMARKS.md, ROADMAP.md,
VISION.md and docs/philosophy.md. Those documents do not follow ASD-STE100.
Rambla — state for real-time .NET desktop applications · MIT · github.com/nicoseijas/Rambla · This wiki follows ASD-STE100.
Use Rambla
Reference