Skip to content

Renderers (Client Libraries)

Renderers convert A2UI JSON messages into native UI components for different platforms.

The agents are responsible for generating the A2UI messages, and the transports are responsible for delivering the messages to the client. The client renderer library must buffer and handle A2UI messages, implement the A2UI lifecycle, and render surfaces (widgets).

You have a lot of flexibility, to bring custom components to a renderer, or build your own renderer to support your UI component framework.

Maintained Renderers

Renderer Platform v0.8 v0.9 Links
React Web ✅ Stable Coming soon
Lit (Web Components) Web ✅ Stable ✅ Stable Code
Angular Web ✅ Stable ✅ Stable Code
Flutter (GenUI SDK) Mobile/Desktop/Web ✅ Stable ✅ Stable Docs · Code
SwiftUI iOS/macOS 🚧 Planned Q2
Jetpack Compose Android 🚧 Planned Q2

Check the Roadmap for more.

Ecosystem Renderers

The community is building A2UI renderers for additional platforms:

  • json-render — Vercel's React library for rendering A2UI catalogs via Zod schemas (comparison)
  • A2UI-Android — Community Jetpack Compose renderer, 20+ components (~15 ⭐, v0.8)
  • a2ui-react-native — React Native renderer for iOS/Android (~9 ⭐, v0.8)

See the full ecosystem renderers list for more community projects and how to submit your own.

How Renderers Work

A2UI JSON → Renderer → Native Components → Your App
  1. Receive A2UI messages from the transport
  2. Parse the JSON and validate against the schema
  3. Render using platform-native components
  4. Style according to your app's theme

Using a Renderer

Get started integrating A2UI into your application by following the setup guide for your chosen renderer:

Building a Renderer

Want to build a renderer for your platform?

Key requirements:

  • Parse A2UI JSON messages, specifically the adjacency list format
  • Map A2UI components to native widgets
  • Handle data binding, lifecycle events
  • Process a sequence of incremental A2UI messages to build and update the UI
  • Support server initiated updates
  • Support user actions

Next Steps