Skip to content
Blog

GenUI Cross-Platform: One Agent, Native UI on iOS, Android, Web, and Desktop

The GenUI SDK renders agent-generated interfaces natively across iOS, Android, web, and desktop. Learn why running the same A2UI agent everywhere is the SDK's core architectural bet.

Published on • October 21, 2026

AI Assistant

Generative UI raises a question that static UI never had to answer: if an AI decides what the interface looks like at runtime, does that interface still respect the platform it is running on? Flutter’s GenUI SDK answers yes — by design. A single A2UI agent can drive native, brand-consistent interfaces on iOS, Android, web, and desktop, because the SDK leans on Flutter’s rendering model rather than fighting it.

Source: A2UI in the World — Flutter GenUI SDK and the genui package.

One protocol, every platform

The GenUI SDK uses A2UI as the underlying protocol between a server-side (or client-side) agent and the Flutter app. Because A2UI is a declarative specification rather than a rendered bitmap or a block of HTML, the same agent output is interpreted by each client using its own native widgets. On Flutter, that interpretation is real Flutter widget trees — so generated UI inherits everything Flutter provides: gesture handling, animation, theming, and platform-conventional behavior.

The practical consequences the Flutter team highlights:

  • Cross-platform support — the same agent works on iOS, Android, web, and desktop.
  • Native performance — widgets render natively on each platform, not through a web view.
  • Brand consistency — generated UIs match your app’s design system via your widget catalog.
  • Server-driven UI — agents control what is shown without shipping an app update.

As Vijay Menon, Engineering Director for Dart & Flutter, describes it: “Our developers choose Flutter because it lets them quickly create expressive, brand-rich, custom design systems that feel great on every platform. A2UI was a great fit for Flutter’s GenUI SDK because it ensures that every user, on every platform, gets a high quality native feeling experience.”

Why this is different from web-driven UI

Plenty of frameworks generate UI at runtime by injecting HTML or rendering a canvas. That approach produces interfaces that look the same everywhere because they are the same everywhere — they do not adopt platform conventions, and they sit outside the host app’s design system. GenUI does the opposite. Because the generated output is a Flutter widget tree constrained by your catalog, the result is a native widget on whatever platform it lands on, styled to your brand, animated by your theme.

This is the distinction that matters for a cross-platform product: consistency of brand without sacrificing the native feel each platform’s users expect.

The catalog is the contract

The mechanism that makes cross-platform generation safe is the widget Catalog. You define the set of widgets the agent is allowed to use — each with a name, a data schema, and a builder — and the agent composes only from that vocabulary. A RiddleCard you define renders the same way on an iPhone and a browser, because it is the same builder function, while still benefiting from Flutter’s per-platform layout and input handling.

This is also what keeps generated UI on-brand and testable. The agent is not free to invent arbitrary widgets; it is constrained to a reviewed, typed catalog, and the DataModel keeps reactive state consistent across surfaces.

The practical platform note

The published genui package currently lists Android, iOS, macOS, and web as supported platforms. Desktop beyond macOS — Windows and Linux — is less established, so treat mobile and web as the mature targets and desktop as the frontier. If your product is desktop-first, verify current platform support before committing.

Key takeaways

GenUI’s cross-platform story rests on a clean architectural choice: use A2UI as a declarative protocol, render it with Flutter’s native widgets, and constrain generation to your own widget catalog. The result is one agent that drives native, brand-consistent, interactive interfaces across iOS, Android, web, and desktop — without the flat, identical look-and-feel of web-driven UI. The catalog is the contract that keeps it safe; platform support is strongest on mobile and web today.

Further reading