⌘K

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

CapabilityDescription
Server-driven framesDefine and update screens using the CLI. Ship UI changes instantly.
Bring your own componentsRegister any Compose or SwiftUI view as a block. Your design system, your components.
A/B testingDeliver different frame variants based on user attributes (country, version, plan).
Offline supportFrames are cached locally. Users always see UI even without connectivity.
Hot reloadConnect your device to the CLI dev server and see changes live during development. No rebuilds.
Event loggingHook into frame and block lifecycle events and pipe them to your analytics.
Foundation blocksOptional prebuilt components (text, button, image, layout) for quick prototyping.

SDK packages

Android

PackagePurpose
nativeblocks-androidCore SDK: frame rendering, block/action registry, experiments
nativeblocks-compiler-androidKSP annotation processor: generates block/action schemas
nativeblocks-wandkit-androidDevKit for hot reload and log streaming
nativeblocks-foundation-androidOptional prebuilt Compose blocks

iOS

PackagePurpose
nativeblocks-ios-sdkCore SDK: frame rendering, block/action registry, experiments
nativeblocks-compiler-iosSwift macro compiler: generates block/action schemas
nativeblocks-wandkit-ios-sdkDevKit for hot reload and log streaming
nativeblocks-foundation-iosOptional prebuilt SwiftUI blocks

How it works

  1. Annotate your Compose/SwiftUI components with @NativeBlock and @NativeAction
  2. Build: the compiler generates JSON schemas and registers your components
  3. Design via the CLI: arrange blocks into frames, set properties
  4. Publish: frames are delivered to your app at runtime
  5. Update anytime: deploy a frame update via the CLI and users see it immediately

Requirements

AndroidiOS
LanguageKotlin 1.9.24+Swift 5.0+
UI toolkitJetpack ComposeSwiftUI
Min OSAndroid API 26iOS 15.0