Skip to content

Welcome to CraftD

Features

🔗 Compatibility

Tech Support
View System - Android ✅ Supported
Jetpack Compose - Android ✅ Supported
Widgets Flutter ✅ Supported
SwiftUI - iOS ✅ Supported
Compose Multiplatform ⚒️ In Progress

Components that already exist in the library

Component Android Compose Android View Flutter SwiftUI
Button X X X -
Text X X X X
Checkbox X - - -

How to create a custom component?

  • Create a data structure to represent your component:
@JsonIgnoreProperties(ignoreUnknown = true)
@Immutable
@Stable
data class CheckBoxProperties(
    @JsonProperty("text") val text: String? = null,
    ... rest of your properties
)
  • Add your Component json object in Dymanic.json
{
  "key": "CraftDCheckBox",
  "value": {
    ... rest of your properties
  }
}
  • Create your component:
@Composable
fun CraftDCheckBox(
    checkboxProperties: CheckBoxProperties,
    modifier: Modifier = Modifier,
    onChecked: (Boolean) -> Unit
) {
    ... Rest of your code
}

Screen recordings

Compose Android
Compose Android
View System Android
View System Android
Flutter
Flutter
Swift UI
Swift UI

Credits

A Server Driven UI library for Android. Inspired by the DynamicView.