Skip to content

What is Actor-Web? ​

Actor-Web is a pure actor model for JavaScript and TypeScript. You build systems out of actors: isolated units of state that communicate only by passing messages. There is no shared mutable state and no direct method calls between actors — which removes whole classes of race conditions and makes the same code run locally, in a worker, or across a network without changing how you write it.

It draws directly on Erlang/OTP: behaviors, supervision, "let it crash" recovery, and location transparency.

The core ideas ​

  • Actor — an isolated unit of computation with its own state (context), processing one message at a time.
  • Behavior — what an actor does with each message, authored with defineBehavior. A handler can update its own state, reply to an ask, emit events, or send messages to other actors.
  • Topology — a declarative description of your system: which nodes exist, which actors run where, and how they are supervised (defineActorWebTopology).
  • Messages vs. events — send/ask are directed (point-to-point); emit broadcasts a fact that any subscriber can react to. See Subscriptions & events.
  • Sources — the read-model/command surfaces a UI consumes, designed to plug into ignite-element with no framework ceremony.

Why a pure actor model ​

ProblemActor-Web's answer
Shared-state racesNo shared state; one message at a time per actor.
"Where does this run?"Topology declares placement; the API is identical local or remote.
Cascading failuresSupervisors isolate and restart; failures don't propagate by default.
UI ↔ logic couplingActors own logic; UIs consume read-model sources at the edge.

Where to next ​

Documentation in progress

This site is being built out. The Overview, Getting Started, and Concepts sections you see here are the first slice; API reference and guides land in subsequent docs tasks.