Skip to content

Features

Dynamic UI

Build interfaces that adapt and evolve at runtime with declarative XML markup.

State Management

Keep your UI in sync with your data through reactive patterns and clean architecture.

  • Controller Architecture — Separate business logic from UI with lifecycle management and automatic dependency binding
  • Reactive Components — Automatic UI updates via ValueListener and EventListener
  • Dependencies System — Flexible data storage with dot/bracket notation, global data sharing, and change listeners
  • Dependency Scoping — Control data isolation with new, copy, inherit, or auto scoping strategies
  • Event System — Loosely-coupled cross-component communication with typed events and payloads

Data Management

Transform, validate, and manage application data.

  • Data Modeling — Structured models with property transformers and null safety
  • Data Transformation — Map source structures to target models with PropertyTranslation
  • Type Conversion — Extensible converters for primitives, DateTime, Color, Duration, and custom types
  • Instance Management — Single and keyed instance patterns to prevent duplicate objects

Resource Management

Centralize and optimize your app's assets and resources.

  • Fragment Caching — Automatic XML caching for improved performance
  • Resource Externalization — Centralized strings, colors, integers, doubles, and booleans in XML value files
  • Dynamic Routing — Map paths and route names to fragments, Navigator pages, or callback-driven views

Code Generation

Automate the tedious parts and focus on building great UIs.

Cloud Delivery

Push UI updates to your users without app store review cycles.

  • Server-Driven UI — Load fragments and values from XWidget Cloud's content server at runtime
  • Channel-Based Publishing — Deploy once, test on staging, publish the same revision to production; instant rollback
  • Verified Caching — Immutable, SHA-256-verified bundles with automatic cache validation
  • Key Rotation — Rotate project keys with configurable grace periods
  • CLI Management — Manage workspaces, projects, channels, and deployments from the command line

Analytics

Understand how your UI performs in production. Analytics are tracked automatically — no code changes required.

  • Automatic Tracking — Renders, downloads, errors, and navigation transitions tracked out of the box
  • Navigation Flow Analysis — See how users navigate between pages with transition counts and timing
  • Error Monitoring — Track fragment render failures and download errors with message details
  • Multi-Dimensional Filtering — Slice data by channel, version, platform, locale, and country
  • CLI Queries — Query analytics data with configurable time ranges and aggregation intervals

Flexibility

Use XWidget alongside any Flutter widget — built-in or third-party.

  • Use Flutter Widgets — Full access to the entire Flutter widget catalog
  • Use Third-Party Widgets — Include widgets from any Flutter package by adding them to your inflater spec
  • Use Custom Widgets — Create and register your own components with @InflaterDef
  • Mix and Match — Use XWidget for part of your app alongside traditional Flutter code