Skip to content

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.

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.

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.

LanguageWhat you getMaturityWhere
TypeScriptThe full runtime + React SDK, published to npmReferenceQuickstart
SwiftNative SDK — schemas, store, query, SwiftUI live binding, SQLiteNative SDK · betaSwift
RustPortable interop kernel + C/UniFFI binding surfaceCore · betaRust
Python~100-line reference kernel + vector verifierReference kernelImplement it
Any languageBuild a conforming impl from the spec + vectorsDIYImplement it
FrameworkWhat you getMaturityWhere
ReactHooks and components — the toolkit the app itself usesStable SDKReact hooks
VueuseQuery / useMutate data binding (no components)Adapter · on demandFrameworks
SvelteliveQuery is already a Svelte storeAdapter · on demandFrameworks
SolidcreateQuery via from()Adapter · on demandFrameworks
Vanilla / Lit / AngularSubscribe to liveQuery directlyPatternFrameworks