Languages & SDKs
xNet is a protocol first and an app second. The same signed, hash-chained, last-write-wins data model can be implemented — and proven byte-for-byte — in more than one language, and the JavaScript runtime binds to more than one UI framework. This page is the honest map of what exists today and how mature it is.
The two axes
Section titled “The two axes”There are two different “multi-X” stories, and they mean different things:
- Languages implement the protocol (identity, change hashing, replication, authorization) and interoperate over the wire.
- JavaScript UI frameworks bind the same JS runtime
(
createXNetClient+liveQuery) into React, Vue, Svelte, or Solid.
Maturity matrix
Section titled “Maturity matrix”What the badges mean: Reference the canonical implementation the vectors are generated from · Stable SDK first-class and app-ready · Beta real and conformance-pinned, still evolving · On demand a thin binding published when asked for · Reference kernel a verifier / teaching implementation.
Languages
Section titled “Languages”| Language | What you get | Maturity | Where |
|---|---|---|---|
| TypeScript | The full runtime + React SDK, published to npm | Reference | Quickstart |
| Swift | Native SDK — schemas, store, query, SwiftUI live binding, SQLite | Native SDK · beta | Swift |
| Rust | Portable interop kernel + C/UniFFI binding surface | Core · beta | Rust |
| Python | ~100-line reference kernel + vector verifier | Reference kernel | Implement it |
| Any language | Build a conforming impl from the spec + vectors | DIY | Implement it |
JavaScript UI frameworks
Section titled “JavaScript UI frameworks”| Framework | What you get | Maturity | Where |
|---|---|---|---|
| React | Hooks and components — the toolkit the app itself uses | Stable SDK | React hooks |
| Vue | useQuery / useMutate data binding (no components) | Adapter · on demand | Frameworks |
| Svelte | liveQuery is already a Svelte store | Adapter · on demand | Frameworks |
| Solid | createQuery via from() | Adapter · on demand | Frameworks |
| Vanilla / Lit / Angular | Subscribe to liveQuery directly | Pattern | Frameworks |
Pick your path
Section titled “Pick your path” JavaScript frameworks → React, Vue, Svelte, Solid, or vanilla — bind the runtime in ~40 lines.
Swift — XNetKit → Define schemas in Swift and bind queries into a SwiftUI re-render loop.
Rust — xnet-core → The portable interop kernel that backs native SDKs, with C/UniFFI bindings.
Implement it in any language → The kernel, the golden vectors, and how to claim conformance.