Reactant extension for UI declaration in XML


Reactant extension for UI declaration in XML

CI Status Version License Platform Apps Slack Status

Reactant UI is an extension for Reactant for declaration of views and layout using XML. There is no runtime overhead, as all the XML declarations are precompiled into Swift. Reactant then uses the generated code to create your UI. Reactant Live UI is an optional part responsible for live rendering your XML file in the simulator on every save. Check the quick-start guide to learn more.

Important note

Reactant UI is currently a preview. However we’ll try to keep the number of API changes to a minimum.


In your Podfile:

pod 'Reactant'
pod 'ReactantUI'
pod 'ReactantLiveUI', :configuration => 'Debug'

Add new Run script phase to Build phases:

"$PODS_ROOT/ReactantUI/run" --download -- generate --enable-live --inputPath="$SRCROOT/Application/Sources/" --outputFile="$SRCROOT/Application/Generated/GeneratedUI.swift" --xcodeprojPath="$PROJECT_DIR/$PROJECT_NAME.xcodeproj"

To download a specific version using the run script, simply add semantic versioning number after the --download option. However, if you'd like to build the binary instead of downloading it if it's missing, delete the --download option altogether.

Projects using Swift 4.0

In order to compile valid code, add --swift 4.0 flag to the build script. Swift 4.1 works out of the box.


  • iOS 9.0+
  • Xcode 8.0+
  • Swift 3.0+


Feel free to reach us on Slack!

Get Started

Head to our quick-start guide to learn how Reactant works and what it can do to decrease your development costs!


This library uses semantic versioning. We won't introduce any breaking changes without releasing a new major version. Our main goal is to keep the API as stable as possible. We build our applications on top of Reactant as well and we absolutely hate any breaking changes.


Used libraries




  • Swift Tools 5.1.0
View More Packages from this Author


Last updated: Thu Nov 10 2022 14:35:03 GMT-0500 (GMT-05:00)