Frontend

[ AxiomCore · Documentation ]

Build a frontend

Choose between an Acore UI application and a generated client SDK for the frontend you already have.

A frontend reaches your backend through its .axiom contract, the compiled description of every operation, type and error the backend exposes. You can build that frontend in two ways: write the UI itself in Acore, or keep your existing app and call the contract through a client SDK.

Choose a path

Choosing between Acore UI and a client SDK
Choosing between Acore UI and a client SDK
Diagram source
flowchart TD
  A[Backend .axiom contract] --> B{Do you already have a frontend?}
  B -->|No| C[Write the UI in .acore]
  C --> D[axiom ui build]
  D --> E[.axiomapp artifact]
  E --> F[UI host: web, Android Emulator, iOS Simulator]
  B -->|Yes| G{Which framework?}
  G -->|Browser or React| H[atmx-web or atmx-react]
  G -->|Flutter| I[axiom_flutter]
  G -->|Anything else| J[Call the HTTP API directly]
  H --> K[axiom pull generates a typed client]
  I --> K
  • Acore UI. You write pages, components and styles in .acore. The compiler checks them against target capabilities and a locked backend contract, then a UI host runs the app. A UI host is the signed browser, Android Emulator or iOS Simulator shell that renders compiled Acore UI. The build output is a target-specific .axiomapp artifact.
  • Client SDK. Your React, browser or Flutter code stays as it is. axiom pull copies the contract into your project and generates a typed client. A runtime inside the SDK builds requests, validates responses, applies cache policy and attaches credentials.
Acore UIClient SDK
You write.acore pages and componentsYour framework code
Generated for youCompiled UI, kept in memory by the CLIsdk.ts and models.ts, or axiom_sdk.dart and models.dart
Runs inAxiom UI hostYour app, with a Wasm or native runtime
Contract bindinguse contract checked against a committed lockAxiomDeps.toml written by axiom pull
StatusAlphaWeb Available; React and Flutter Alpha; Swift Experimental
Start withAcore UIClient SDKs

Physical-device certification and app-store publishing are Coming soon for both paths. See Support and availability.

What every client path needs

  1. A pinned .axiom artifact and, for a Cloud release, its signature proof.
  2. A target-specific client: generated SDK code or Acore UI source.
  3. Runtime configuration: where to load the contract and the backend base URL.
  4. Application-owned authentication, error UI, cache privacy and startup order.

The contract is portable. The lifecycle is not. A browser client uses Wasm, browser storage, CORS and cookie rules. Flutter uses a native runtime, bundled contract assets and an optional cache database path. An Acore UI app depends on its UI host version. Test every target you ship, including a release build and a contract integrity failure.

Other frameworks and languages

A framework without a first-party SDK can still call your backend over HTTP. You can keep using the .axiom artifact for review, mocks, tests and change control without routing production calls through an Axiom runtime. The artifact format alone does not imply a client bridge for another stack.

Next steps