Menu

1 / 2

Reactive Programming Doesn't Need a Framework — Ownership Is Enough

DEV Community·chh-itt·6 months ago
#p9vAxXo7
#problem#rust#opensource#software#signal
Reading 0:00
15s threshold

Reactive Programming Doesn't Need a Framework — Ownership Is Enough

How Auralis, a two-crate Rust kernel, reduces reactive programming to things Rust programmers already know.

I spent the last few months building Auralis , a reactive kernel for Rust. Two crates, zero unsafe, signal crate has zero dependencies. It's not a web framework — no view! macro, no DOM, no hydration. Just reactive primitives you pair with whatever you already have.

The core idea fits in one sentence:

Reactive = pausable async tasks. Lifecycle = ownership + structured concurrency.

Everything else follows from this. Let me walk through the design decisions that make it work.

Problem 1: Signal::set() can't call subscribers directly

In most reactive systems, changing a signal's value immediately notifies everyone watching it. This seems natural, but it creates a cascade of problems:

A subscriber callback calls set() on another signal → that signal's callback calls set() on the first signal → infinite loop.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.