Show HN: Nativeblocks – Code-push for native Kotlin and Swift apps

alirezat7751 pts0 comments

Ship Mobile Features Instantly — Nativeblocks SDUI Platform

Nativeblocks<br>Blog<br>Docs<br>Pricing

Dashboard⌘K

⌘K

How it works<br>From your terminal to every user's phone, in three steps.

Integrate the SDK<br>Add Nativeblocks to your project and import your existing components.

AndroidiOS

// Initialize SDK<br>NativeblocksManager.initialize(<br>applicationContext = this,<br>edition = NativeblocksEdition.Cloud(<br>endpoint = NATIVEBLOCKS_API_URL,<br>apiKey = NATIVEBLOCKS_API_KEY<br>))<br>// Import your component<br>@NativeBlock(<br>name = "My Button",<br>keyType = "MY_BUTTON"<br>@Composable<br>fun MyButton(...) { }

Build with the DSL<br>Write screens using the Nativeblocks DSL in Kotlin, Swift, or TypeScript.

KotlinSwiftTypeScript

val title: STRING = remember("Hello")<br>androidFrame(route = "/welcome")<br>.variables(title)<br>.rootBlock {<br>nativeblocksColumn(key = "root")<br>.content {<br>nativeblocksText(key = "heading")<br>.setTextData(title)<br>myButton(key = "cta")<br>.onClick { navigate("/home") }

Deploy and see it live<br>Push to production with one command. Users get it on next app open.

terminal<br>❯ nativeblocks frame deploy<br>--file welcome<br>--tag v1.2.0<br>Bundling frame...<br>✓ Frame validated<br>✓ Upload complete<br>✓ v1.2.0 live in production

The tools you actually need<br>One SDK, one CLI. Works with your existing Android and iOS codebase.

Nativeblocks SDK

KotlinSwift

// MainActivity.kt<br>NativeblocksManager.initialize(<br>applicationContext = this,<br>edition = NativeblocksEdition.Cloud(<br>endpoint = NATIVEBLOCKS_API_URL,<br>apiKey = NATIVEBLOCKS_API_KEY<br>// Render a frame<br>NativeblocksFrame(route = "/")

Kotlin, Swift & TypeScript<br>Drop the SDK into your existing project. No new language, no architecture changes.

Under 1 MB<br>Jetpack Compose & SwiftUI<br>Works with your existing components<br>Hot-reload in development

Set up in minutes<br>From zero to a running frame in four steps.

1Add the SDK dependency to your project

2nativeblocks init — auth and project config

3nativeblocks code-gen — generates typed DSL

4Deploy with CLI and you're live

CLI

terminal

❯ nativeblocks init<br>Authenticating...<br>✓ Project configured<br>❯ nativeblocks code-gen<br>Reading integrations...<br>✓ Typed DSL generated<br>❯ nativeblocks frame deploy --tag v1.0.0<br>✓ v1.0.0 registered

Roll back in one click<br>Tag every release. If something breaks, you're one click away from the last good version.

v1.2.0<br>Live<br>v1.1.2<br>Active<br>v1.1.0<br>Active<br>v1.0.0<br>Archived

~10 sec<br>Typical rollout time<br>Updates reach users on next app open. No App Store queue.

A/B Testing<br>Pass user context to the SDK and let the dashboard serve different frames per segment.

KotlinSwift

NativeblocksManager.getInstance()<br>.setGlobalParameters(<br>"language" to "EN",<br>"country" to "US",<br>"appVersionCode" to "45"

Tag distribution<br>See what percentage of your active users are on each tagged release this month.

64%<br>active on v1.2.0

36%<br>active on v1.1.0

Push a fix before users file a ticket<br>Run nativeblocks frame deploy. Users pick up the change on next app open. No store submission, no review queue.<br>No App Store or Play Store submission<br>Target by user, version, or percentage<br>Roll back to any previous release instantly<br>Tag releases for controlled production rollouts<br>Learn about Code Push

See what's going on in production<br>Tag distribution, active users, and release status. Without leaving the dashboard.

Tag distribution<br>See what percentage of your active users are on each tagged release this month.

v1.2.0

64%<br>v1.1.2

23%<br>v1.1.0

9%<br>older

4%<br>64% of active users on v1.2.0 this month

Daily active users<br>Watch engagement as you roll out. Spot drops before they turn into support tickets.

12,847↑ 18% vs last month<br>JanAprJulOctDec

Release management<br>Live status for every tagged release. Roll out, pause, or revert from one place.

v1.2.0<br>Rolling out<br>v1.1.2<br>Active<br>v1.1.0<br>Active<br>v1.0.0<br>Archived

Trusted by innovative teams<br>Companies signed up to use Nativeblocks

TeknasyonSantanderNeonJumbo InteractiveLimeTrayLooopTeknasyonSantanderNeonJumbo InteractiveLimeTrayLooop

Stop waiting for review cycles<br>A UI fix shouldn't take a week to ship. With Nativeblocks, it takes a command.<br>Get started for freeRead the docs<br>No credit card required · Free tier available

nativeblocks active users frame release project

Related Articles