xwidget_builder 0.5.2 copy "xwidget_builder: ^0.5.2" to clipboard
xwidget_builder: ^0.5.2 copied to clipboard

Development tool for generating XWidget components to build dynamic Flutter UIs with XML based markup.

XWidget Builder Logo

XWidget Builder #

XWidget Builder is the development toolchain for XWidget. It generates the Dart registration code and XML schema an XWidget app needs, and it provides the CLI for project setup, XWidget Cloud deployments, and analytics.

Use it as a dev dependency in Flutter apps that render XWidget XML fragments.

What It Generates #

Output Purpose
Inflaters Runtime adapters that create Flutter widgets from XML elements
Icons Icon registrations for XML icon references
Controllers Controller factories for XML <Controller> elements
Registry A single registerXWidgetComponents() entry point for XWidget.initialize()
Schema xwidget_schema.g.xsd for XML validation, completion, and IDE tooltips

Quick Start #

Add XWidget and XWidget Builder to a Flutter project:

flutter pub add xwidget dev:xwidget_builder

Initialize XWidget project files:

dart run xwidget_builder:init

Generate components:

dart run xwidget_builder:generate

Then register the generated code in your app:

import 'package:flutter/material.dart';
import 'package:xwidget/xwidget.dart';

import 'xwidget/generated/registry.g.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await XWidget.initialize(register: registerXWidgetComponents);

  runApp(const MyApp());
}

For a new example app, run:

dart run xwidget_builder:init --new-app
dart run xwidget_builder:generate

CLI #

The package exposes three entry points:

dart run xwidget_builder:init
dart run xwidget_builder:generate
dart run xwidget_builder:xc --help

You can also install the optional xc shortcut for shorter commands:

xc init
xc generate
xc cloud login
xc analytics renders

Features #

  • Code generation - Generate type-safe inflaters, icon registrations, controller factories, a registry, and an XML schema from Dart specs.
  • Project scaffolding - Bootstrap an existing Flutter app or replace a new project with a working XWidget example app.
  • Schema and IDE support - Generate XML validation, completion, and hover documentation for XWidget fragments.
  • Cloud deployment - Deploy UI bundles to XWidget Cloud for over-the-air updates without app store review.
  • Analytics CLI - Query render, download, error, and navigation analytics from the command line.

Documentation #

Full documentation is available at docs.xwidget.dev, including:

  • Quick Start - installation and setup
  • Code Generation - inflaters, icons, controllers, registry, and schema
  • Configuration - xwidget_config.yaml reference
  • Registry - generated component registration
  • Schema - XML validation and IDE integration
  • CLI Setup - optional xc command setup
  • Cloud - workspaces, projects, channels, and deployments
  • Analytics - downloads, renders, errors, and transitions

IDE Plugins #

The plugins use the generated schema and XWidget project structure to provide EL syntax highlighting, contextual navigation, component generation, and hot reload for fragments and resource values.

License #

See LICENSE for details.

3
likes
150
points
541
downloads

Documentation

API reference

Publisher

verified publisherappfluent.us

Weekly Downloads

Development tool for generating XWidget components to build dynamic Flutter UIs with XML based markup.

Repository (GitHub)
View/report issues

Topics

#code-generation #server-driven-ui #cli #xml #widget

License

MIT (license)

Dependencies

analyzer, archive, args, crypto, dio, encrypt, flutter, glob, http, interact2, markdown, path, pub_semver, yaml

More

Packages that depend on xwidget_builder