XWidget renders your screens from resources you can update after release, while services, access control, and business logic stay compiled in the app binary.
Fragments, static values, and navigation live in resources, apart from the binary. Deploy your changes to the cloud, and the next time users open your app, the updates are downloaded and applied — no rebuild, no review queue, no waiting for everyone to update.
Use Flutter widgets, custom widgets, and third-party packages. XWidget generates inflaters for components you declare, exposing them as markup elements with constructor parameters as attributes. At runtime, attributes are converted to typed constructor arguments and widgets are instantiated directly — no waiting on framework support to use the widgets you need now.
The markup decides what the UI looks like, the controller provides the data and behavior, and Dependencies is the shared context.
A hosted content server for your fragments, values, and routes — versioning and analytics built in. Deploy from the CLI; manage and monitor every release from the web console. Or skip it entirely and load from local assets or your own backend.
Deploy with xc cloud deploy. Once deployed, publish to any channel to go live. Roll back or unpublish anytime if needed.
Renders, navigation flows, errors, and version adoption by platform and country — wired in from the SDK, no extra instrumentation.
Connect Claude — or any MCP client — to your workspace and ask about deployments, channels, and analytics in plain English. Every answer comes from the same APIs the console uses, guarded by the same permissions: OAuth sign-in, you approve exactly what it can do, nothing to install.
Add api.xwidget.dev/mcp as a custom connector and sign in. Claude can list your projects, inspect deployments and channels, and query render, error, and navigation analytics.
Every docs release ships llms.txt and raw markdown, so any AI tool grounds itself in real XWidget syntax instead of guessing. One URL: docs.xwidget.dev/llms.txt.
<forEach> tag — it inflates its children once per item:
<forEach var="user" items="${users}">
XWidget is open source. Add the package to your app and start building dynamic screens. Enjoy hot reload, EL syntax highlighting, and contextual menus by installing the IntelliJ plugin or VS Code extension. Deploy to XWidget Cloud when you're ready to deliver updates and monitor usage.