Expo's Exact Compiles one UI Across Web, iOS, macOS and Linux

Expo's new Rust-based framework lets one Contract file ship a native app to web, macOS, iOS, and Linux, with agents as first-class drivers.

·
·
·
Expo's Exact Compiles one UI Across Web, iOS, macOS and LinuxPRO
  • Expo released Exact, a Rust-based runtime where one Contract file ships natively to web, macOS, iOS, and Linux.
  • No webview, no JS bridge, no app JavaScript before the first pixel; web runtime is ~20 KB.
  • Ten stable agent operations (tap, type, screenshot, clock, state, ...) work identically across every host.
  • Reported RealWorld benchmark: 26 KB vs React's 81 KB, interactive ~300 ms before React hydrates.
  • A fresh Claude Code agent built a full todo app passing tests on web, macOS, and iOS in ~57 minutes.
  • Pre-1.0 with no API stability; Windows and Android support are early, no npm package imports yet.

Expo, best known for its React Native toolchain, has released Exact, a pre-1.0 application runtime designed for software built by AI agents and people. Developers describe interfaces in a small declarative language called Contract, pair them with TypeScript or Rust data logic, and target the web, macOS, iOS, and Linux from the same source. Native hosts use no webviews, and the UI rendering path has no JavaScript bridge.

The repository has 6 stars. Its architecture addresses recurring costs in React Native, Electron, and server-rendered web stacks: bridge overhead, bundled browser engines, hydration delays, and platform-specific test harnesses.

One plan, four hosts, zero webviews

The Contract compiler converts each interface into a compact binary plan. On the web, the plan becomes one ES module running on an approximately 20 KB runtime that updates the real DOM. On macOS, iOS, and Linux, a Rust runner executes the same plan while a shared layout kernel calculates CSS-based geometry. AppKit draws macOS controls, UIKit handles iOS, and a GPU painter renders Linux output.

Build-time data embedded in the plan lets each host draw an interactive first frame before application logic starts. TypeScript is compiled ahead of time into Hermes bytecode and loaded after that frame appears, removing application JavaScript from the startup rendering path.

Exact’s Softwear e-commerce demo running with native AppKit controls on macOS
The Softwear demo running as a native macOS application.

Ten commands give agents control

Exact calls one of its design principles “agent native,” and the driver API reflects that goal. Its ten operations are

Pro article

This story is for Pro members

You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.

Trending
  • No trending articles

Comments

avatar

Next Reads