CraftD: A framework to implement Server-Driven UI quickly and easily to Android / iOS / Flutter / Kmp
See the project website for documentation.
Take a look at CraftD: Server Driven UI for All Platforms
| Tech | Support |
|---|---|
| View System - Android | β Supported |
| Jetpack Compose - Android | β Supported |
| Widget - Flutter | β Supported |
| SwiftUi - iOS | β Supported |
| Jetpack Compose - Multiplatform | βοΈ In Progress |
| Component | Compose | View System | Widget | SwiftUI |
|---|---|---|---|---|
| Button | X | X | X | X |
| Text | X | X | X | X |
| CheckBox | X | - | - | X |
@JsonIgnoreProperties(ignoreUnknown = true)
@Immutable
@Stable
data class CheckBoxProperties(
@JsonProperty("text") val text: String? = null,
... rest of your properties
)
{
"key": "CraftDCheckBox",
"value": {
... place your properties
}
}
@Composable
fun CraftDCheckBox(
checkboxProperties: CheckBoxProperties,
modifier: Modifier = Modifier,
onChecked: (Boolean) -> Unit
) {
... place your code
}class CraftDCheckBoxBuilder(
override val key: String = CraftDComponentKey.CHECK_BOX_COMPONENT.key
) :
CraftDBuilder {
@Composable
override fun craft(model: SimpleProperties, listener: CraftDViewListener) {
val checkBoxProperties = model.value.convertToVO<CheckBoxProperties>()
CraftDCheckBox(checkBoxProperties) {
checkBoxProperties.actionProperties?.let { listener.invoke(it) }
}
}
}More details check our documentation
| Android Compose | Android View System | iOS SwiftUI | Flutter |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
A Server Driven UI library for Android.
Inspired by the DynamicView.
This project exists thanks to all the people who contribute.



