CraftD: A framework to implement Server-Driven UI quickly and easily to Android / iOS / Flutter / Kmp
See the project website for documentation.
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 | - |
Text | X | X | X | X |
CheckBox | X | - | - | - |
@JsonIgnoreProperties(ignoreUnknown = true)
@Immutable
@Stable
data class CheckBoxProperties(
@JsonProperty("text") val text: String? = null,
... rest of your properties
)
{
"key": "CraftDCheckBox",
"value": {
... rest of your properties
}
}
@Composable
fun CraftDCheckBox(
checkboxProperties: CheckBoxProperties,
modifier: Modifier = Modifier,
onChecked: (Boolean) -> Unit
) {
... Rest of 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.