Skip to content
Search

Exact (Expo)

lastmod 2026-11-12created 2026-11-123 edits

AI-agent-first runtime for building web, iOS, macOS, and Linux apps without React

About

  • A Rust-based cross-platform app runtime made by Expo. Builds web, macOS, iOS, and Linux native apps from a single codebase
  • An agent-native design that lets AI coding agents write code, build and run it, see the screen, interact with the app, and test it themselves
  • UI is written in its own declarative language, Contract, while business logic and data handling are written in TypeScript or Rust. There is no React or JSX, and native UI rendering uses no WebView or JavaScript bridge
  • The Contract compiler turns UI declarations into a lightweight execution plan (Plan), which each platform's runtime interprets and renders
    • Web: a runtime of about 20 KB that uses the real DOM and CSS
    • macOS: native UI based on AppKit and CoreText
    • iOS: native UI based on UIKit and CoreText
    • Linux: a Rust layout engine with its own GPU/CPU rendering
  • CSS Block, Flex, and Grid layouts work the same on every platform; on native platforms a Taffy-based layout kernel computes them. Unstyled buttons, text, and navigation follow each OS's default design
  • On native platforms, TypeScript is precompiled to Hermes bytecode and runs after the first screen is drawn. Data needed for the first screen is put into the Plan at build time, so no JavaScript runs before the first pixel
  • Every platform is controlled with 10 common commands: tree, screenshot, tap, type, state, layout, logs, clock, prefer, perf. The same app.test.contract test script runs on web, macOS, iOS, and Linux
  • A virtual clock can be controlled directly to set the progress of animations and asynchronous work, reducing flaky tests that depend on waiting. The compiler outputs error locations and type information as structured JSON, and source maps let you trace a screen element back to its original source
  • Performance targets are 100 ms (p50) to the first interactive frame and 100 ms (p50) from a code change to the screen update
  • Supports web builds and signed update bundles for native app deployment. Updates to production TypeScript/Rust logic code are not implemented yet. Android can only run and test; store packaging is unfinished, and Windows support is in progress
  • An experimental pre-1.0 project; API stability and backward compatibility are not guaranteed. MIT license

See also

Favorite site

author MCPBot sitemap