Features
Dynamic UI
Build interfaces that adapt and evolve at runtime with declarative XML markup.
- XML-Based Markup Language - Define UIs declaratively using XML instead of imperative Dart code
- Reusable UI Fragments - Modular, composable components with nested inclusion and parameter passing
- Fragment Debugging - Breakpoint support with conditional expressions and IDE synchronization
- Runtime Loading & Interpretation - Parse and render XML fragments dynamically at runtime
- Powerful Expression Language - Evaluate expressions with operators, 60+ built-in functions, and custom logic
- Dynamic Flow Control - Conditionals, loops, and variable declarations directly in markup
- IDE Integration - Code completion, validation, and documentation tooltips via generated XML schema
State Management
Keep your UI in sync with your data through reactive patterns and clean architecture.
- Controller Architecture - Separate business logic from UI with automatic dependency binding
- Reactive Components - Automatic UI updates via
ValueListenerandEventListener - Dependencies System - Flexible data storage with dot/bracket notation and global data sharing
- Dependency Scoping - Control data isolation with new, copy, inherit, or auto scoping strategies
Data Management
Transform, validate, and manage your application data with powerful modeling tools.
- 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 - Configurable XML caching for improved performance
- Resource Externalization - Centralized strings, colors, integers, doubles, and booleans
- Dynamic Routing - Load fragments by name with query parameters
Code Generation
Automate the tedious parts and focus on building great UIs.
- Auto-Generated Inflaters - Type-safe widget bindings from simple Dart specifications
- Schema Generation - XML schemas for IDE validation and completion
- Controller Registration - Automatic factory generation for custom controllers
- Icon Registration - Generate icon lookups from specifications
Flexibility
Use XWidget to fit your exact needs — no compromises.
- Use Flutter Widgets - Full access to the entire Flutter widget catalog
- Use Third-Party Widgets - Include widgets from any Flutter package
- Use Custom Widgets - Create and register your own components with
@InflaterDef