SDK Overview
Nativeblocks SDK lets you build server-driven mobile UIs for Android and iOS: ship UI changes instantly without app store releases.
Nativeblocks is a Server-Driven UI (SDUI) platform for Android and iOS. Instead of hardcoding screens in your app, frames are defined server-side and rendered natively at runtime. Change what users see from the CLI. No rebuild, no release.
What you can do
| Capability | Description |
|---|---|
| Server-driven frames | Define and update screens using the CLI. Ship UI changes instantly. |
| Bring your own components | Register any Compose or SwiftUI view as a block. Your design system, your components. |
| A/B testing | Deliver different frame variants based on user attributes (country, version, plan). |
| Offline support | Frames are cached locally. Users always see UI even without connectivity. |
| Hot reload | Connect your device to the CLI dev server and see changes live during development. No rebuilds. |
| Event logging | Hook into frame and block lifecycle events and pipe them to your analytics. |
| Foundation blocks | Optional prebuilt components (text, button, image, layout) for quick prototyping. |
SDK packages
Android
| Package | Purpose |
|---|---|
nativeblocks-android | Core SDK: frame rendering, block/action registry, experiments |
nativeblocks-compiler-android | KSP annotation processor: generates block/action schemas |
nativeblocks-wandkit-android | DevKit for hot reload and log streaming |
nativeblocks-foundation-android | Optional prebuilt Compose blocks |
iOS
| Package | Purpose |
|---|---|
nativeblocks-ios-sdk | Core SDK: frame rendering, block/action registry, experiments |
nativeblocks-compiler-ios | Swift macro compiler: generates block/action schemas |
nativeblocks-wandkit-ios-sdk | DevKit for hot reload and log streaming |
nativeblocks-foundation-ios | Optional prebuilt SwiftUI blocks |
How it works
- Annotate your Compose/SwiftUI components with
@NativeBlockand@NativeAction - Build: the compiler generates JSON schemas and registers your components
- Design via the CLI: arrange blocks into frames, set properties
- Publish: frames are delivered to your app at runtime
- Update anytime: deploy a frame update via the CLI and users see it immediately
Requirements
| Android | iOS | |
|---|---|---|
| Language | Kotlin 1.9.24+ | Swift 5.0+ |
| UI toolkit | Jetpack Compose | SwiftUI |
| Min OS | Android API 26 | iOS 15.0 |